Add Text to Image

Drop a photo or screenshot, type a caption, label, title or watermark, choose a font, colour and outline, then drag the text anywhere on the picture and download it — all on your device.

  • Free
  • No account
  • Runs in your browser
  • Nothing uploaded
Add Text to ImageNothing uploaded
0 characters
% of height

Runs entirely in your browser — your input is never uploaded, logged, or stored.Privacy policy

What is Add Text to Image?

This tool places text on top of a picture and saves a new copy with the words drawn into it. Use it to caption a photo, label a product or a diagram, put a title on a screenshot, sign an image, or add a trademark-style watermark. Unlike a meme maker, the text is not fixed to the top and bottom: you can put it at any of nine preset positions or drag it anywhere on the picture.

You control the look with a handful of straightforward settings. The font is one of five stacks of system fonts already on your device — sans-serif, serif, monospace, condensed and cursive — so **the exact letter shapes vary from device to device**: the same setting can look like Arial on a Windows PC and Helvetica on a Mac. Nothing is downloaded, which is why the tool works offline once the page has loaded. Text can be bold or italic, any hex colour, positioned on up to several lines (press Enter for a new line), and made partly or fully transparent with the opacity control.

The outline option draws a border around each letter, which is what keeps a caption readable over a busy or light background. The outline is stroked **before** the letters are filled, so it sits behind the text and does not eat into the letter shapes. You choose its colour and its width as a percentage of the text size, so it scales with the text rather than staying a fixed number of pixels.

The size is set as a percentage of the image height (1–100 %), not in pixels, because that is what looks the same whether the picture is 800 px or 4000 px tall. A 5 % caption on a 900-pixel-tall photo is 45 pixels high; the same setting on a 1800-pixel-tall photo is 90 pixels high. Type a number, or leave it blank and the smallest allowed size (1 %) is used.

How it works: your browser decodes the image (a phone photo is turned upright using its EXIF orientation), draws it onto a canvas at full size, and paints the text with the canvas `fillText` and `strokeText` methods. The canvas is then re-encoded and offered as a download. Because the picture is redrawn on a canvas, EXIF metadata — camera, date and GPS location — is not carried into the result.

How this differs from the Meme Generator: that tool is built around the classic two-line caption (top and bottom, Impact-style, auto-fitted) with extra draggable boxes. This tool is for a single deliberate label: any position, five fonts, bold and italic, an outline, opacity and true multi-line text at a size you set, with no auto-fitting surprises.

Limits: 50 MB per image, and about 100 megapixels (16,384 px per side). iPhones and iPads allow a canvas of only about 16.7 megapixels, so a very large photo is drawn at a smaller size there and the tool says so. The words are baked into the pixels of the saved file: once it is saved, the text can no longer be moved or edited. Your image is never uploaded — the Network tab in your browser's developer tools shows no request carrying it.

1. The file's size is checked (50 MB) before it is read, and its first bytes confirm it is PNG, JPG, WebP, GIF, BMP or AVIF. The browser decodes it upright. 2. The picture is drawn onto a canvas at full size (or smaller only if it exceeds the phone canvas limit). 3. The font size in pixels is the size percentage × image height ÷ 100, rounded, and never below 1 px. It is clamped to 1–100 %. 4. The text is split at each Enter into lines, and the line height is 1.2 × the font size. The text box is as wide as its widest line and as tall as the number of lines × the line height. 5. The box's top-left corner comes from the position you chose: a preset anchor keeps a margin of 3 % of the shorter side (at least 8 px) from the anchored edge, or the free position you dragged to. The box is then kept fully inside the image. 6. For each line, `strokeText` draws the outline where the outline is on, then `fillText` draws the letters on top. `globalAlpha` applies the opacity to both. 7. The canvas is re-encoded as PNG, JPG or WebP (or the input's format), and the file is named like photo-text.jpg.

Add Text to Image vs the Meme Generator
 Add Text to ImageMeme Generator
PositionAnywhere — nine presets plus free dragTop and bottom captions, plus draggable boxes
FontsFive system font stacks, bold and italicImpact-style captions and bundled Noto web fonts
Text styleOutline, opacity and multi-line textOutline, alignment and ALL CAPS
Best forCaptions, labels, titles and watermarksClassic two-line image macros

Worked examples

  • A 1600 × 900 photo with the size at 5 % draws the text at 45 px, on 54 px lines (1.2 × 45).
  • The centre anchor on a 1000 × 500 image, with a 200 × 50 text box and a 20 px margin, puts its top-left corner at (400, 225).
  • "#f00" becomes "#ff0000" and "abc" becomes "#aabbcc"; "#12345" is rejected as not a colour.
  • photo.jpg with text saved as JPG at 80 % quality → photo-text.jpg (a lossy re-encode).
  • A transparent PNG stays transparent when saved as PNG; saved as JPG, transparent areas become the background colour you pick.

How to use Add Text to Image

  1. Click "Choose a photo or screenshot", drop an image on the box, or paste one with Ctrl+V (Cmd+V on a Mac).
  2. Type your text in the box — press Enter to start a second line.
  3. Choose the font, size (% of the image height), colour, bold or italic, and turn the outline on or off and set its colour and width.
  4. Use the position menu for a preset, or drag the text on the picture to put it anywhere; adjust the opacity, then click "Add text to image".
  5. Download the result. To change the wording or placement, edit the settings and run it again from the original picture — the saved file's text cannot be edited.

Common errors

  • "#12345" is not a colour. Use a hex value like #ffffff. — type a 3-digit (#fff) or 6-digit (#ffffff) hex colour.
  • "Quality must be between 1 and 100." — move the quality slider inside its range.
  • "scan.HEIC" is actually a HEIC file, not PNG, JPG, WebP, GIF, BMP or AVIF. The extension does not match the contents — use a HEIC tool for this file. — convert the photo to JPG first.
  • "IMG_0042.jpg" is 62.40 MB, over the 50.00 MB limit for this tool. — resize or compress the file first.
  • "Your browser could not create a 12000 × 9000 drawing surface. It may be too large for this device…" — the image is beyond what this device's canvas can hold; use a desktop browser or a smaller image.
  • "The image has no pixels (its width or height is 0)." — the file is damaged or truncated; choose another copy.

FAQ

How do I add text to a photo for free?

Drop the photo in, type the words, choose the font, size, colour and outline, drag the text where you want it, and download the result. It runs entirely in your browser, so there is no sign-up and no upload.

Can I put text anywhere on the image, not just at the top or bottom?

Yes. Pick one of nine preset positions (corners, edges and centre), or drag the text anywhere on the picture with the mouse, finger or arrow keys. This is the main difference from a meme generator.

Why does the text look different on another device?

The fonts are the ones already installed on your device — no font is downloaded. A name like "sans-serif" resolves to Arial on Windows, Helvetica on a Mac and Roboto on Android, so the exact letter shapes vary by device even though the settings are identical.

What does the outline do?

It draws a border around each letter, in a colour and width you choose, so the text stays readable over a light or busy background. It is drawn before the fill, so it sits behind the letters and does not cut into them.

Can I edit the text after saving the image?

No. The text is drawn into the pixels of the saved file, exactly like a paint program's brush strokes. Keep the original picture, and re-run the tool with different settings if you need a change.

Does adding text remove the photo's metadata?

Yes. The image is redrawn on a canvas and re-encoded, so EXIF metadata — including the camera, date and any GPS location — is not carried into the saved file. Phone photos are saved the right way up.

Can I add a watermark with this?

Yes. Type the name or mark, set a light colour, lower the opacity, and place it in a corner — or tile-style by repeating the download with several positions. It is a visible watermark, not an invisible one.

G

Prefer AllUtil on Google

One click adds AllUtil to your Google preferences. You'll see our tools highlighted with a Preferred badge in Search and AI answers.

2× more likely to clickWorks in AI Overviews

Reviewed by unreviewed

Written by Hamza AK. We research, build and test every tool before it is published.

Editorial policy

Last updated

Rechecked against the sources on this date, not stamped.

Methodology

The text is measured and drawn with the browser's own canvas text engine (`fillText` and `strokeText`), so the same settings on the same device give the same result. The fonts are system font stacks, not embedded files, so the letter shapes depend on the device — the page says so rather than promising a fixed design. The outline is stroked before the fill, so it sits behind the letters. The words are baked into the pixels of the output and cannot be edited afterwards. Saving as JPG or WebP re-compresses the whole image at the quality you choose (92 by default) and is lossy; PNG is lossless. GIF, BMP and AVIF are saved as PNG because browsers cannot reliably re-encode those formats from a canvas, and an animated file keeps only its first frame. EXIF metadata and colour profiles are not copied into the result.