Add text to a photo
Put words on a picture with proper fonts, an outline and a shadow — and keep the full resolution.
Runs entirely in your browser. Your photo is never uploaded.
Nine fonts, a colour picker, an outline, a drop shadow, letter spacing and free rotation — which is rather more than the text tool built into a phone gallery gives you, and without the app’s logo in the corner afterwards.
The photo keeps its own dimensions and comes back at full resolution, so this is a caption on your picture rather than your picture squeezed into someone else’s template.
The two settings people underuse: a dark outline makes white text readable over anything, and the darken slider knocks the whole photo back a little so the words sit on top of it instead of fighting it.
How to use it
- Drop in your photo.
- Type your text and drag it where you want it.
- Set the font, size and colour; add an outline if the background is busy.
- Download as PNG, or JPG for a smaller file.
Frequently asked questions
Is my photo uploaded?
No. This one runs entirely in your browser — the photo is decoded, drawn and re-encoded on your own device, and nothing is sent anywhere. It keeps working with the page offline.
Does it reduce the quality of my photo?
The result is exported at the photo’s own size, capped at 4096 px on the longest side to stay within what phone browsers can hold in memory. Choose PNG to avoid any re-compression of the flat areas; JPG will be much smaller and is usually fine for a photo.
Can I add several pieces of text?
Yes, as many as you like, each with its own font, colour, angle and opacity. Use Enter for a line break inside one of them.
How do I make white text readable on a light photo?
Add an outline — even a thin dark one separates the letters from anything behind them. The darken slider is the other half of the answer, and a drop shadow helps on mid-tone backgrounds.
Can I put a watermark on my photos with this?
You can, though <a href="/add-watermark-to-photo/">add a watermark</a> is built for it — it does tiling, opacity and a whole batch of photos at once.
Can I make the text go behind the person?
That is a separate page, because it needs the subject cut out first: <a href="/text-behind-image/">text behind image</a>.
More free tools
All design →Photo Collage Maker
Combine several photos into one picture, with layouts, spacing and rounded corners.
Screenshot Beautifier
Padding, a gradient background, rounded corners and a shadow.
Design Editor
Start from a template on any canvas size, change what you like, and download it at full resolution.
Instagram Post Maker
Design a square, portrait or landscape Instagram post from a template and download it ready to upload.
Compress PDF
Shrinks the photos inside your PDF. Text stays sharp and selectable.
Trim Video
Cut a video down to the part you want. No re-encoding when possible, so quality stays untouched.