How to Add Text Over an Image in Elementor
Last modified: June 22, 2026
Adding text over an image in Elementor is one of the most frequent design tasks: hero banners, call-to-action sections, and product feature blocks all rely on it. Elementor gives you three ways to do it, and the right method depends on whether you are working with a section background, an inline image widget, or a repeating card layout.
Which Method to Use
Before jumping into the steps, here is when each approach makes sense:
- Section Background Image: best for hero banners, full-width feature sections, and any layout where the image fills the entire section background. This is the approach most Elementor designers reach for first. It is responsive by default and includes built-in background overlay color controls.
- Image Widget with Negative Margin: best for small inline overlays where you need text to sit on top of an image widget inside a column rather than behind a section background. More fragile on mobile, so always test before publishing.
- Image Box Widget: best for cards, team member blocks, and feature lists where you want a consistent image-with-text layout across multiple items. The widget has built-in title and description fields, so you do not need a separate heading widget stacked on top of an image.
Common Problems When Overlaying Text on Images
The most common problem is text that is hard to read against the image. The background overlay is your primary tool: in the section’s Style tab, open the Background Overlay panel, set the color to black, and lower the opacity to 40–60 percent. This dims the image enough for white text to read clearly without hiding the image entirely.
The second most common issue is the overlay breaking on mobile. If you used the Section Background Image method and the text drops below the image on small screens, confirm the background image is set to “Cover” with “Center Center” position. If the text is too large for the mobile viewport, adjust font sizes in the Responsive tab of the heading widget rather than changing the section structure.
For the negative margin method: these margins behave differently across browsers and can collapse unexpectedly at smaller screen sizes. Always preview on mobile before publishing. If you keep running into layout problems, switching to the Section Background Image method is usually simpler than making negative margins fully responsive.
* This button will show the rest of the post and open up an offer from a vendor
Why Add Text Over Image?
Text overlaid on images is one of the most versatile design patterns on the web. Here are the most common reasons to use it:
- Hero banners: A large background image with a headline and CTA button over the top is the standard layout for landing pages and homepages.
- Section openers: Adding a section title or tagline over a background image helps break up long pages and sets the tone for each content block.
- Product feature images: Labeling parts of a product image or highlighting a key spec over a photo adds context without extra paragraphs.
- Call-to-action overlays: A darkened image with a short “Book Now” or “Get a Quote” message converts passive visitors who are already looking at your visuals.
- Team or service cards: Showing a person’s name and title over their photo in a hover state is a popular portfolio design pattern.
Each use case calls for slightly different Elementor settings, which is why there are multiple methods below.
How to Add Text Over Image
Elementor gives you three main approaches, each suited to a different scenario:
- Section/Column Background Image: Set an image as the background of a section or column, then add any widget (Heading, Text Editor, Button) on top. This is the most common and cleanest method for hero sections.
- Image Widget + Negative Margin: Place an image widget first, then position a heading over it using negative top margin and Z-index. More fiddly but works for inline images inside content columns.
- Image Box Widget: Elementor’s built-in Image Box widget combines an image with a title and description in a single widget. By default the text sits below the image, but you can use the widget’s style controls to reduce the gap and create a card-style layout where text feels closely tied to the image. It won’t produce a true overlay, but it’s the fastest option for simple image-with-caption card layouts that don’t need background blending.
For most use cases, especially full-width hero banners, Method 1 is the right choice. The other methods are useful when you need text to sit near or on a specific image widget inside a content column rather than as a section background.
Whichever method you use, make sure there is enough contrast between the text and the image underneath it. Light text over a bright image is a common accessibility problem. Use Elementor’s Background Overlay (available in Method 1) to darken the image, or choose a font color with a contrast ratio of at least 4.5:1 against the lightest part of the image.
Method 1: Section Background Image (Recommended)
This is the standard Elementor way to create a hero section or any content block with text on top of a background image:
- Open your page in the Elementor editor and click on the section where you want the image background.
- In the left panel, go to Style → Background. Set Background Type to Classic and click the image thumbnail to choose or upload your image.
- Set Background Size to Cover so the image fills the section at any screen size.
- Optionally set Background Position to center or top depending on the focal point of your image.
- To add a dark overlay (which improves text readability), go to Style → Background Overlay, set the color to black, and lower the opacity to around 40–60%.
- Now add your text widgets inside the section. Drag in a Heading widget for the main title, a Text Editor for supporting copy, and a Button if you need a CTA. These will appear over the background image.
- Adjust the section’s top and bottom padding (in the Layout tab) to control how much of the background image is visible.
This method is responsive by default. On mobile, the background image scales automatically, and you can set a different image specifically for mobile in the Responsive mode background settings.
Method 2: Image Widget + Negative Margin
Use this method when you have a regular image widget inside a column and want to float text over the top of it (for example, a caption or label that overlaps the image rather than sitting below it).
- Open your page in the Elementor editor. Add a single-column section (or use an existing column).
- Drag an Image widget into the column and select your image from the media library.
- Below the image widget in the same column, drag in a Heading widget (or Text Editor) and type your overlay text.
- With the Heading widget selected, go to Advanced → Layout → Margin. Unlink the margin values and enter a negative number for the top margin, starting with -40px and adjust until the text overlaps the image at the height you want.
- To make sure the heading appears on top of the image (rather than behind it), go to Advanced → Layout → Z-Index on the Heading widget and set it to 10 or higher.
- Style the text color to white (or another contrast color) so it reads against the image.
Note: this method requires manual adjustment for different screen sizes. Switch to Tablet and Mobile view in Elementor and check the margins. You may need to set device-specific values to keep the text positioned correctly across breakpoints.
Final Word: How to Add Text Over an Image in Elementor
For most use cases, especially hero banners and section openers, the Section Background Image method is the right choice. It’s responsive out of the box, easy to adjust, and gives you complete control over padding, overlay opacity, and background position.
The negative margin method is best kept for small inline overlays where you specifically need text to sit on top of an image widget rather than a section background. Just remember to check it on mobile, since negative margins can behave differently on small screens. If your design requires text over an image without a visible page title above it, you can hide the page title in Elementor through the page settings in just a few clicks.



Website Maintenance – Use Promocode: scanwp
Advanced JetPlugins for Elementor
Semrush 14 days trial
Kinsta – Managed WordPress Hosting
Bluehost Hosting