Add Text to an Image
Add text to an image with adjustable size, position, and colour. Understand font choice, contrast, and safe margins.
- No file limits
- No registration
- Free forever
- Images never leave your browser
Drop images here
or paste from clipboard (Ctrl/⌘ + V)
Supported formats: JPG, PNG, WebP, AVIF, SVG
Click on the image to pick a color at that point
Picked colorsTap a swatch to copy the hex. Shows the 8 most frequent colors.
This re-encodes the photo without EXIF, GPS or IPTC data, so it cannot be traced back to your camera or location.
Lossy formats like JPG are re-compressed, which softens the image slightly.
Add 2+ images above; they are laid out left to right.
Choose a grid, then download all slices as a zip.
Your images never leave your browser
All processing happens locally on your device. Nothing is uploaded to a server, stored, or tracked.
Type a caption, pick a size, color and corner, and it is drawn right on your photo, ideal for memes, labels and title cards. Text is rendered onto the image locally, so your photo and caption never leave your browser.
How it works
Legibility beats style on a photograph
Text over an image is only readable if it contrasts with whatever is behind it, and no font choice fixes a poor contrast. Bright text on a bright area disappears even in a heavy weight, and the instinct to reach for a heavier font makes it worse rather than better. The reliable approaches are a text colour that contrasts with the background, a translucent panel behind the text, or placing the text over the darkest or lightest part of the frame and colouring it to suit. Anything that works reliably is more useful than a subtle treatment that nobody can read.
| Method | How it works | When it suits |
|---|---|---|
| Contrasting colour | Light text on dark areas, dark on light | When the background is consistently one tone |
| Translucent panel | A solid or semi opaque box behind the text | The most reliable option for a varied background |
| Text on a solid band | A strip of colour across part of the frame | Captions, lower thirds, banners |
| Outline or drop shadow | A contrasting edge around the glyphs | Helps a little, not a solution |
| Positioned in a flat area | Text over a region with little detail | Works when you control the composition |
NoteA heavier font does not fix low contrast. Use a colour or a panel that separates the text.
Font size has to be judged at final size
A caption that looks reasonable while you are editing a large preview can become unreadable at the size the image is actually viewed. This is the most common problem with added text, and it happens because the preview is magnified. The test is to look at the result at the size it will be displayed, which for a social post is thumbnail sized on a phone and for a print is a few centimetres tall. If it is not readable at that size, no amount of adjustment at full size will make it work, and the text needs to be shorter or larger rather than restyled.
- Judge legibility at the size the image will be viewed.
- A preview is magnified. A full size preview is not a fair test.
- On a phone, a social post is viewed small. Assume that.
- Shorten the text before you shrink the font further.
NoteIf it is unreadable at final size, make it shorter or larger. Restyling will not save it.
Safe margins and where not to place text
A full bleed image is usually cropped differently depending on where it is displayed, and text near an edge is the first thing to be cut. A social platform cropping to a square will remove the top and bottom of a portrait image, and a story format will crop the sides of a landscape one. Placing text a reasonable margin in from every edge protects it across those variations. The corners are the least safe area of all, because they are cropped by more formats than the middle. If the image is the priority and the text is secondary, keeping the text out of the safe area is more important than making it large.
- Full bleed images are cropped differently by different platforms.
- Text near an edge is the first thing lost in a crop.
- Corners are cropped by more formats than the middle. Avoid them.
- Keep a margin from every edge that could be cropped.
- On a social post, assume the bottom is the first area to go.
Keeping the text editable and the file safe
Rasterised text becomes part of the image pixels and cannot be changed afterwards, which is the main limitation of doing this in a browser rather than in a layout tool. That is fine for a finished post, and inconvenient for something you will revise. Two habits help: keep the unedited original so the text can be added again with different wording, and if the text needs to be localised or reworded regularly, compose it in something that keeps it as text. The added text also means the output is re-encoded, so the quality depends on the format and setting used to save, and an original JPEG gains a second lossy pass.
- Rasterised text cannot be edited after saving.
- Keep the original so the text can be added again with different wording.
- For text that changes often, compose it in something that keeps it as text.
- Saving re-encodes the image. A JPG gains a second lossy pass.
- Export as PNG for text that must stay sharp, at the cost of file size.
Frequently asked questions
Can I control the text position?
Yes, place the text in any of nine positions and adjust its size and color with the controls.
Can I add multiple lines of text?
Yes, add each caption in turn and position each one separately, which suits memes, labels and quote cards.
Does adding text change the image quality?
No, the text is drawn onto the existing pixels and the result is saved losslessly, so image quality is unchanged.