Add a caption bar above or below a photo

The tool adds a coloured bar to the top or bottom of the picture and writes your caption in it, so the photo itself stays fully visible; the bar grows to fit the text.

Live demo · real result from this tool

Drop images here

or paste with Ctrl+V · nothing is uploaded

Caption bar
Align

Your result appears here — processed on your device.

Processed on your device — nothing is uploaded.

How to use Image Caption

  1. Choose one or more photos.
  2. Type the Caption (the example reads “Sunrise over the Nilgiri hills, March 2026”).
  3. Pick Caption bar: Below the image or Above the image.
  4. Set Text size (% of width) (1.5–10%, default 3.5%), Text colour (#111827, near black) and Bar colour (white).
  5. Choose Align (Centre, Left or Right) and a Font.
  6. Press Add caption and download the files ending in -caption.

What it does and when to use it

A caption bar is the tidy way to label a picture without hiding any of it. It suits travel photos shared in a family group, evidence photos for a report (“Crack in north wall, 12 May”), classroom worksheets, product photos with a code, and memes with the classic white strip on top. Because the bar is part of the image file, the text stays with the picture wherever it is forwarded.

If you would rather write on the photo itself, use Image Text Overlay. To add equal space on all sides, try Image Padding, and for a decorative frame use Image Border.

How it works

Inside a Web Worker on your device, the tool:

  1. Sets the text size to the image width × your percentage (at least 8 px).
  2. Measures and wraps the text to fit the width minus one text size of padding on each side.
  3. Adds a bar of height (lines × 1.3 × size) + (1.6 × size), rounded to whole pixels, in the bar colour.
  4. Draws the text in a regular weight with your font and alignment.

The original pixels are copied unchanged into the new, taller image.

Worked examples

Sizes from the tool’s own formulas, for a caption that fits on one line.

Photo Text size Bar height Saved image
1080 × 1080 px, 3.5% 37.8 px 110 px 1080 × 1190 px
4000 × 3000 px, 3.5% 140 px 406 px 4000 × 3406 px
4000 × 3000 px, two lines 140 px 588 px 4000 × 3588 px

On the large photo, each extra line adds 182 px of bar. If the result is too tall for a site with a fixed shape, lower the Text size or shorten the caption.

A dark bar above. Choose Above the image, Bar colour #111827 and Text colour #ffffff for a headline strip that sits on top like a title.

Limits and tips

  • Fonts come from your device; a script or Impact font may be swapped for a similar one if it is missing.
  • The caption is part of the pixels and cannot be edited later, so keep the original.
  • EXIF data such as the date taken is not copied, so add the date to the caption if it matters.
  • Check the new height against upload rules before posting; crop with the Image Cropper if needed.

Frequently asked questions

Does the caption cover part of my photo?
No. The image is made taller and the caption sits in the new strip. A 1080 × 1080 px photo with a one-line caption becomes 1080 × 1190 px.
How tall is the bar?
It is the height of the text lines (1.3 × the text size per line) plus padding of 0.8 × the text size above and below. More lines make a taller bar.
Can I write the date or credit on a second line?
Yes. Press Enter in the Caption box. Long captions also wrap automatically to fit inside the side padding.
Can I use a dark bar with white text?
Yes. Set Bar colour to a dark shade and Text colour to white. The bar is always solid, so it stays readable on any photo.
What happens to transparent PNGs?
The picture keeps its transparency; only the new caption bar is solid. Saved as the original PNG or WebP, clear areas stay clear. Choosing JPEG fills them with white, because JPEG cannot store transparency.

Written by the ToolsRift team · Last updated

Pages are drafted with AI assistance and checked by automated tests. How we write and check pages.

Was this tool useful?

Report a problem

Start typing to search every tool.

↑ ↓ to moveEnter to openEsc to close