Add text to a photo — headline, outline, box and shadow

Type your text, pick a position and style, and the tool draws it onto the picture at a size measured as a share of the image width, so it looks the same on small and large photos.

Live demo · real result from this tool

Drop images here

or paste with Ctrl+V · nothing is uploaded

Your result appears here — processed on your device.

Processed on your device — nothing is uploaded.

How to use Image Text Overlay

  1. Choose one or more images.
  2. Type in Text (it starts with “Summer sale” and “up to 40% off” on two lines).
  3. Pick a Position: Centre, Bottom right, Bottom left, Top right, Top left, Bottom centre or Top centre.
  4. Choose Font, Text size (% of image width) (1–25%, default 8%), Text colour (white), Opacity, Bold (on) and Italic.
  5. Adjust Outline colour and Outline width (% of text size) (0–20%, default 6%; set 0 for none). Tick Background box and pick a Box colour, or tick Shadow.
  6. Press Add text and download the files ending in -text.

What it does and when to use it

This tool puts readable words on a picture without opening a design app: a sale banner for a shop post, a title on a YouTube-style thumbnail, a label on a product photo, a quote card, or “Before” and “After” on two pictures. Because size and margins are proportional, you can run a whole batch of different-sized photos with one setting.

For a band of text under the picture rather than on top of it, use Image Caption. To protect your work with a faint signature, use Image Watermark. A blurred background from Image Blur makes overlay text much easier to read.

How it works

Drawing happens on an OffscreenCanvas inside a Web Worker on your device. The tool:

  • sets the font size to Text size × image width ÷ 100 (at least 6 px);
  • wraps lines at 90% of the image width, with a line height of 1.25 × the font size;
  • keeps a margin of 4% of the image’s shorter side from the edges, plus the box padding when the box is on;
  • pads the background box by 0.35 × the font size and rounds its corners;
  • draws the outline first and the fill on top, so about half of the outline width shows outside the letters.

Worked examples

These sizes follow from the tool’s own formulas.

An Instagram square (1080 × 1080 px), default settings. Letters are 86.4 px, the outline is about 5 px wide, and the margin from the edge is 43 px. The two lines of the default text sit centred, each 108 px apart.

A 4000 × 3000 px camera photo, Bottom centre, Text size 5%, Background box on. Letters are 200 px tall, the box extends 70 px around the text, and the box’s lower edge sits 120 px (4% of 3000) above the bottom of the photo.

Limits and tips

  • Emoji and non-Latin scripts depend on the fonts installed on your device.
  • Text cannot be edited later; keep your original photo if you may change the wording.
  • The output file carries no EXIF data from the photo.

Frequently asked questions

Why is the text size a percentage?
So one setting works for every photo. At the default 8%, a 1080 px wide picture gets letters about 86 px tall and a 4000 px wide one gets 320 px letters, which look the same relative to the picture.
Which fonts can I use?
Five families from your own device - sans-serif, serif, monospace, Impact and a script face. No web fonts are downloaded. If a device lacks a font, such as Impact on many Android phones, the browser substitutes a similar one.
How do I keep the text readable on a busy photo?
Use the outline (on by default, black at 6% of the text size), tick Background box for a solid panel behind the words, or tick Shadow. On very busy pictures the box is the most reliable.
Can I write more than one line?
Yes. Press Enter in the Text box to start a new line. Long lines also wrap on their own once they reach 90% of the image width.
Is this the same as a watermark?
Similar, but the watermark tool is built for faint, repeated or corner marks. For a copyright notice, use the Image Watermark tool.

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