# Add Text to GIF

> A free online tool that draws a caption of up to 200 characters and 4 lines on every frame, or chosen frames, of a GIF or animated WebP, with a bold font and a colored outline.

Use this free tool to add text to GIF animations. Upload one GIF or animated WebP, type your caption, and download the result. You can set the text position, size, outline and colors before you run the job, and anonymous use needs a quick human check.

## Key facts

- Input: a GIF or WebP up to 5 MB in the free tool and 10 MB when signed in, and up to 16 MP (4096 x 4096) per frame; an animation up to 100 frames and 16 MP in all without an account.
- Settings: text, position top, middle or bottom, text size 8 to 400 px, outline 0 to 20 px, text and outline colors, the frames to use, and the save type (GIF or animated WebP).
- One bold font; Latin, Greek, Cyrillic, Chinese, Japanese and Korean letters work; emoji and right-to-left scripts are refused; lines are not wrapped for you, and a line that is too wide is made smaller or, if it still does not fit, cut off.
- A GIF result has at most 256 colors per frame. In our test a generated 24-frame GIF of 88 KB with the caption "Opening day" became a 77 KB GIF; the test animation was generated by our scripts and results vary.
- The upload is deleted when the job ends and the result after 10 minutes; signed-in users pay 1 credit per file plus 1 credit for each started 10 MP of frames beyond the first 10 MP.
- Free without an account: up to 10 conversions per minute and 50 per day per visitor, no watermark. Signed in, each render costs 1 credit (100 free credits every month).
- Files are deleted automatically: 10 minutes after conversion without an account, 1 day with a free account.
- Developers can run the same render with POST https://api.aiipworld.com/v1/render and an API key (see the API docs page).

## How it works

1. Upload one GIF or animated WebP. A one-frame GIF or WebP also works. PNG and JPG files are refused.
2. Type your caption in "Text to add". Press Enter to start a new line, up to 4 lines.
3. Choose the position, text size, outline and colors, or keep the defaults.
4. Pick "Save as" and click "Add text".
5. Check the preview on the result panel and download your file.

## How to add text to GIF files

Adding text to a GIF takes a few steps, much like a GIF caption maker. Upload your file first, then type the caption and set how it looks. The tool draws your text on every frame you choose, and it builds a new file for you to download. Your original file stays unchanged.

The tool accepts one GIF or animated WebP per job. A GIF with a single frame also works. Results can differ from file to file, so check the preview before you save.

- Works with GIF and animated WebP files
- Keeps the frame timing and loop count of your original

## Type the caption and choose where it goes

Start by typing your caption in the "Text to add" box. The box takes up to 200 characters and up to 4 lines. Press Enter to start a new line, because the text is not wrapped for you. A live counter shows how much room you have left.

Next, choose the Position. The choices are Top, Middle and Bottom. Bottom is the default, and the text is centered left to right in each case. Use it to caption GIF files such as reactions or jokes. Top or Bottom usually keeps the middle of the picture free for the subject of your animation.

## Text size and outline

Set the Text size in pixels, from 8 to 400. If you leave the field empty, the tool uses 15% of the frame height, held between 12 and 160 px. Larger text takes more of the picture, so test a size on your own file first.

The Outline width runs from 0 to 20 pixels. Leave it empty and the outline is about one twelfth of the text size, at least 1 pixel. Set it to 0 for no outline. In our test on a generated 320 x 240 px animation, the tool used 36 px text with a 3 px outline. Results vary with the file.

## Text color

The default text color is white (#ffffff), and the default Outline color is black (#000000). You can change either color before you run the job. The outline helps the letters stand out when the frame behind them is light or busy.

Text on GIF pictures can be hard to read when the frame behind it changes, so pick colors that you can read at the size you chose. Check the preview for the first and last frames, because the background can change during the animation. Colors you choose apply to every frame that carries the text.

## Add the text to some frames only

Tick the checkbox "Add the text to some frames only" when you want the caption to appear for part of the animation. Then set First frame and Last frame. Frames outside that range stay as they were in your original file.

The result panel reports the range you used, for example "on frames A to B (N frames)". Use it when the caption should appear during one moment of a longer loop. The result panel also shows the frame count and playing time.

- Set First frame and Last frame after you tick the checkbox
- Check the range in the result panel before you download

## Which characters work

The tool supports letters from Latin, Greek, Cyrillic, Chinese, Japanese and Korean scripts. Digits and common punctuation and symbols also work. If your caption uses one of these, you can type it directly into the box.

Emoji, control characters and right-to-left scripts such as Arabic and Hebrew are refused. The tool shows a message that names the character that caused the problem. In our test, an emoji and an Arabic word were both refused, and five lines were refused with "at most 4 lines".

## How the text is drawn and what GIF can show

The tool uses one bold font. DejaVu Sans Bold draws Latin, Greek and Cyrillic letters, and Noto Sans CJK Bold draws Chinese, Japanese and Korean characters. There is no italic style and no other font choice.

A line that is wider than the picture is made smaller to fit, down to a very small size. If it still does not fit, the text is cut off at the edge, and the result panel says so. A GIF can hold at most 256 colors per frame, so gradients and photos can look banded after saving. "Save as animated WebP" is another choice that can keep more detail.

## Limits: size and frames

Without an account, an image can be up to 5 MB. Signed-in users can upload up to 10 MB. Each picture can have up to 16 MP (4096 x 4096). Anonymous visitors get 30 jobs per day.

For an animated GIF or WebP, anonymous use allows up to 100 frames and 16 MP in total (width x height x frames). Signed-in users get 300 frames and 64 MP. Signed-in jobs use credits: 1 credit, plus 1 credit for each started 5 MB of the result beyond the first 5 MB, plus 1 credit for each started 10 MP of frames beyond the first 10 MP. Failed and timed-out jobs are refunded in full.

## Add text to GIF from code

The API can add text to a GIF too. Send a POST request to https://api.aiipworld.com/v1/image-jobs?op=`<op>`, with the raw file bytes as the body. Do not send JSON or multipart form data. Set Content-Type to image/gif or image/webp, and put the settings in the query string. Unknown parameter names are rejected.

The API answers with status 202 and a job_id. Poll GET /v1/jobs/:id until the job succeeds, fails or times out. The download_url is a short-lived signed link. Authorize with "Authorization: Bearer `<API key>`" or the x-api-key header. The API also places the text at an x and y position in pixels. Each request handles one job, and there is no batch endpoint and no webhooks yet.

Errors you may see include 400 invalid_params, 413 file_too_large, 422 unsupported_image, 402 insufficient_credits and 429 rate limited. A failed job can return too_many_pixels, unsupported_image or image_too_large. Below the tool, the page shows ready cURL, Node and Python examples built from your chosen settings. See /docs/ for the general API.

## Privacy: what happens to your file

Your file is sent to our server, because nothing is processed in your browser. The file is used only to make your result. The working copy of your upload is deleted as soon as the job ends, whether it succeeds or fails.

In the free web tool, the result is deleted after 10 minutes, and the result panel shows how long it stays. No history is kept, and download links are short-lived. You must have the right to use what you upload, as set out in our Acceptable Use Policy. Anonymous use needs a human check from Cloudflare Turnstile.

## Questions

### Can I add text to a GIF for free?

Yes, the free web tool lets you add text to a GIF, with 30 jobs per day per visitor without an account. Anonymous use needs a human check first.

### How do I make a GIF caption?

Upload your GIF, type the caption in "Text to add", choose a position, and click "Add text". Then download the result from the result panel.

### How do I put text at the top of a GIF?

Set Position to Top before you click "Add text". Bottom is the default, so change it if you want the caption at the top.

### Can I add text to only part of the GIF?

Yes. Tick "Add the text to some frames only", then set First frame and Last frame. The result panel shows the range you used.

### Does the text use the same font as my computer?

No. The tool uses one bold font for each script, DejaVu Sans Bold or Noto Sans CJK Bold. It has no italic and no other font choices.

### Can I use emoji or Arabic text?

No. Emoji, control characters and right-to-left scripts such as Arabic and Hebrew are refused, and the message names the character that caused the refusal.

### Why did the text get smaller?

A line wider than the picture is made smaller so it fits, down to a very small size. If it still does not fit, the text is cut off at the edge, and the result panel says so.

### Does adding text reduce the quality of the GIF?

A GIF holds at most 256 colors per frame, so gradients and photos can look banded after saving. Results vary with the file, so check the preview. "Save as animated WebP" is another option.

### Can I edit or remove the text later?

No. The text becomes part of the pictures, so it cannot be changed or removed later. Keep your original file in case you want a new caption.

### Can I add text to a GIF in my own code?

Yes. Send the raw file bytes to the image-jobs endpoint with the matching Content-Type, then poll the job until it finishes. The API reference is at /docs/.

## Related

- [GIF Cropper: Crop Animated GIF Files Online](https://aiipworld.com/tools/gif-cropper/index.md)
- [GIF Speed Decrease: Change the Speed of a GIF](https://aiipworld.com/tools/gif-speed/index.md)
- [GIF Trimmer: Trim a GIF by Frame or Time](https://aiipworld.com/tools/gif-trimmer/index.md)
- [GIF Resizer: Resize Animated and Still GIFs Online](https://aiipworld.com/tools/resize-gif/index.md)
- [GIF Compressor: Reduce Animated GIF File Size Online](https://aiipworld.com/tools/compress-gif/index.md)
- [GIF Frame by Frame: Split a GIF into Frames](https://aiipworld.com/tools/gif-to-frames/index.md)
- [Invert Image Colors](https://aiipworld.com/tools/invert-image-colors/index.md)

Page: https://aiipworld.com/tools/add-text-to-gif/
