Add a caption to an image

Put a caption on a photo, a screenshot or any picture, without uploading it and without a watermark on the way out. Everything happens in this page, and the image keeps every pixel it arrived with.

Caption a picture

Runs in your browser. Nothing is uploaded.

Captioning a video instead?

Add subtitles to a video free — the words are transcribed automatically and burned in, in 76 languages. 3 videos of up to 60 seconds a day, no account needed.

How to add a caption to a photo

Four steps, all of them on this page.

  • Drag your picture onto the box above, or click it to choose one. JPG, PNG and WebP all work.
  • Type the caption. The two boxes are the top and the bottom of the picture, and either can be left empty.
  • Choose a style and drag the size slider until it looks right. The preview is the finished file, not an approximation of it.
  • Press the button and download the captioned picture.

Caption over the picture, or above it

Three styles, and the one that matters for your picture depends on whether any of it can afford to be covered.

  • Meme text draws outlined white capitals over the top and bottom edges, in the heavy condensed style the format is known for. The tool opens on this one.
  • Caption bar puts a white strip above the picture with black text in it, growing the canvas rather than covering anything. Nothing in the photo is hidden, which is what you want for a screenshot, a chart or a product shot where the detail is the point — and it is the option most tools do not offer.
  • Subtitle sets the words on a translucent dark band inside the bottom of the picture, the way a burned-in subtitle sits on a video frame.

Full resolution, and no watermark

The picture is not resized, resampled or shrunk to fit a preview. A 4000-pixel-wide photo comes out 4000 pixels wide, with the caption scaled to match, because the text size is set as a proportion of the width rather than a fixed number of pixels — the same setting looks the same on a phone screenshot and on a camera file.

A JPEG comes back as a JPEG and everything else as a PNG. That is deliberate: re-encoding a photograph as PNG turns a few hundred kilobytes into several megabytes with nothing to show for it, while a screenshot or a graphic saved as JPEG picks up visible mush around the letters.

Making the caption readable

The failure mode of text on a picture is contrast, not size. White words over a bright sky vanish, which is why the two styles that sit over the image draw a black outline behind every letter and the subtitle style puts a dark band under them. If a caption is still hard to read, the caption bar solves it outright by moving the words off the picture altogether.

One thing worth separating: a caption is not alt text. The caption here is drawn into the pixels, so it is visible to everyone and readable by nobody's screen reader — the words are part of the picture as far as software is concerned. When you post the image, write the alt text as well, and let it describe what the picture shows rather than repeating the caption.

Common questions

What kinds of picture can I use?

JPG, PNG, WebP and any other still format your browser can open, up to 25MB. An animated GIF will load, but this page captions its first frame as a still — if you want the animation kept, use the GIF captioner instead, which re-encodes every frame.

Is my photo uploaded anywhere?

No. The picture is read with your browser's own file reader, drawn on a canvas in this page and handed back to you as a download. It is never sent to a server and never stored, which you can confirm in your browser's network tab while you caption it.

Is there a watermark or a sign-up?

No to both, and no limit on how many pictures you caption. The work happens on your machine rather than ours, so there is nothing to charge for and no reason to ask who you are.

Does it work on a phone?

Yes. The drop zone is also a file picker, so tapping it opens your camera roll, and the controls are laid out for a narrow screen. Very large camera files are slower on a phone than on a laptop, but the picture is never uploaded either way.

Will the caption be in the right font for my language?

The display faces are Latin-only, so if you type in Hindi, Arabic, Thai or another script the tool swaps in a face that has the glyphs and tells you it has done so. Without that the text would render as a row of empty boxes, which is what happens when a caption is drawn in a font that cannot draw it.