Calculator
What the Add Text to Image does
Add Text to Image: draws your text onto the image with automatic line wrapping, sized relative to the image width so the same setting looks right on a 400 px thumbnail and a 4000 px photo. Everything runs in your browser and the file is never uploaded.
Pick a file and the Add Text to Image converts it right here in the page. The work happens inside your browser tab, so there is no upload to wait for and no queue.
Most people who open the Add Text to Image are writers preparing assets for a post. Getting the dimensions right before upload avoids a lot of downstream cropping.
Your picture never leaves the tab, which also means there is no upload to wait for.
The field table, the method and a worked example are documented after the tool for anyone who wants to check the working.
What do the Add Text to Image fields mean?
The Add Text to Image uses 10 inputs. A filled form means you can test one idea immediately instead of sourcing every input first.
| Field | What to enter | Default |
|---|---|---|
| Image file | stays on your device | none |
| Text | paste or type any amount of text | Your caption here |
| Position | choose from Bottom centre, Bottom left, Bottom right, Centre, Top centre or Top left | Bottom centre |
| Text size | measured in % of image width; accepts 1 to 30 | 6 |
| Font | choose from Arial, Impact, Georgia, Courier, Verdana or Comic Sans | Arial |
| Text colour | optional | #ffffff |
| Outline | choose from Black outline, White outline or None | Black outline |
| Opacity | measured in %; accepts 5 to 100 | 100 |
| Export as | choose from PNG, JPEG or WebP | PNG |
| Quality % | accepts 10 to 100 | 92 |
How does the Add Text to Image work?
Each output is derived from the inputs above in a single pass; there is no hidden state carried between runs, so the same inputs always give the same conversion.
Validation runs before the calculation, which is why a mistyped value shows an error rather than a plausible-looking result.
What a typical run looks like
You provide: Image file, Text, Position, Text size, Font, Text colour, Outline, Opacity, Export as and Quality %
What happens: the file is read into memory by your browser, processed locally, and offered back as a download. It is never uploaded.
You get back: a new file plus a brief account of what happened to it, shown in the panel.
How long this takes is a property of your computer, not of our infrastructure, and file size is bounded by browser memory.
How to use it
- Choose your file under Image file, or drag it onto the drop area.
- Paste your content into Text.
- Pick a value for Position: the options are Bottom centre, Bottom left, Bottom right, Centre, Top centre or Top left.
- Fill in Text size in % of image width (1 to 30).
- Pick a value for Font: the options are Arial, Impact, Georgia, Courier, Verdana or Comic Sans.
- Enter Text colour.
- Pick a value for Outline: the options are Black outline, White outline or None.
- Put Opacity in % (5 to 100).
- Pick a value for Export as: the options are PNG, JPEG or WebP.
- Fill in Quality % (10 to 100).
- Press Add Text.
- Check Status on the right.
- Copy Link when you want to return to this exact configuration; Print when someone needs it on paper.
What this tool does not do
- Re-encoding a lossy format such as JPEG always loses some detail, even at maximum quality.
- EXIF metadata may be dropped during processing, which is usually desirable but is worth knowing.
- Comparisons across tools can differ where each uses a slightly different definition.
- The tool trusts your numbers completely, so a mis-keyed digit propagates straight through.
- Large files are limited by your available memory, not by an upload quota.
Frequently asked questions
Enter Text size in % of image width and Opacity in %. Every input names its unit, and every output does too, which removes the usual source of error.
Text size accepts 1 to 30 % of image width. Go outside it and you get an error against that specific field instead of a misleading number.
No. The file is read by your browser and processed inside the page. It is never sent to us, which is also why it keeps working offline once loaded.
No charge. Everything on the page is available without signing in.
It follows the standard definition for this operation, so the result matches what a reference implementation would give.