Skip to content
Captions, subtitles, meme text

Add Text, Captions and Subtitles to a GIF

Put text on a GIF and control exactly how it looks and when it appears. Drag it into place on the canvas, give it an outline so it survives a busy background, and limit it to the frames where it belongs.

Type, drag, export. No account, no watermark.

  • No upload
  • No sign-up
  • No watermark

Adding a caption

The text is composited into the frames at export, at full output resolution.

  1. 1

    Open your GIF or video

    Drop in an existing GIF, a video clip or a set of images. Anything on the timeline can be captioned.

  2. 2

    Add and place the text

    Add a text layer, type your caption, then drag it directly on the canvas. Size is a percentage of the canvas height, so it stays proportional if you resize the output.

  3. 3

    Time it and export

    Leave it on every frame, or pick a frame range so it appears and disappears at the right moment. Then export.

Text controls that matter

Outline and shadow

White text on a light frame is unreadable. A stroke in a contrasting colour, plus an optional drop shadow, keeps a caption legible over anything without a translucent box behind it.

Appears on the frames you choose

Each text layer has an optional frame range. Two layers with different ranges give you sequential subtitles without any keyframing.

Multiple lines, three alignments

Press enter for a new line. Left, centre and right alignment all anchor from the point you dragged to, so lines stay visually attached to where you put them.

Resolution-independent sizing

Font size is stored as a fraction of the canvas, not in pixels. Export at 320 px or 640 px and the caption occupies the same proportion of the frame.

Why captions ruin GIF file sizes, and what to do

GIF compresses each row of pixels by finding repeated runs. Flat areas compress beautifully; sharp, high-contrast edges do not, and text is nothing but sharp high-contrast edges. A caption can add noticeably to a file that was otherwise small.

Two things help. Keep the text still — a caption that moves changes pixels in every frame, while a stationary one lets the encoder skip unchanged regions. And prefer a hard outline over a soft shadow: the shadow introduces a gradient of near-identical colours that eats palette slots and compresses badly.

Subtitles versus meme text

They want opposite settings. Subtitles sit low, small, in one or two lines, and change with the dialogue — several text layers with adjacent frame ranges. Meme text sits at the top or bottom edge, large and bold with a heavy outline, and stays put for the whole loop.

For subtitles, watch that the text stays inside the frame after any crop or resize. Because sizing is proportional, the safest habit is to set your final output size first and then place captions.

Questions people actually ask

Can I use my own font?
The picker offers the sans, serif and monospace families your system provides. Custom font file uploads are not supported yet — a font file is exactly the kind of thing we would rather not start accepting.
Can the text animate?
Text can appear and disappear on frame boundaries, which covers subtitles and timed labels. Motion tweens are not supported; for a moving caption, place a text layer and reposition it across a few short frame ranges.
Will the caption look different after export?
No. The preview and the exporter run the same compositor, so what you see on the canvas is what gets encoded, at whatever resolution you export.

Related tools

Same workbench, pointed at a different job.

Everything above runs in this tab

No upload, no account, no watermark. Open the workbench and see for yourself.