AnyTool
Your files never leave your device. All processing happens locally in your browser.

How do I add text or captions onto a video in my browser?

Open AnyTool's Video Text Overlay tool, drop in a clip, and add styled text — choosing font, size, color, outline and a background box, one of 9 positions (or drag it freely), and a time window. The text is rendered to a transparent layer and burned into the video on export as an MP4. It runs in your browser with a self-hosted ffmpeg engine: no upload, no CDN, no watermark.

  • Font, size, color, outline and background box
  • 9 positions plus free drag, with a time window
  • Rendered to a transparent layer, then burned in
  • 100% in your browser — no signup, no watermark

What is

Video text overlay

A video text overlay adds styled text or captions on top of a video — controlling font, size, color, outline, a background box, position and the time window it appears. Burning it in renders the text permanently into the frames. Doing this client-side renders the overlay to a transparent layer in the browser, so the file is never uploaded.

Video Tools

Related terms

captionoverlayburn-insubtitleffmpeg

How to Add Text to a Video

Overlay styled text or captions onto a clip in your browser.

1 minWeb browser
  1. 1

    Add a video

    Drop in a clip — it stays on your device.

  2. 2

    Add and style text

    Type the text, set font, color, outline and box, then position it and set a time window.

  3. 3

    Export

    Burn the text in and download the MP4 — nothing is uploaded.

Result: An MP4 video with burned-in text

Frequently Asked Questions

Yes — set font, size, color, outline and a background box, and use 9 positions or drag it freely.

You can also set a time window so the text only shows during part of the clip.

It is rendered to a transparent layer and then burned into the video on export.

Burning it in makes the text a permanent part of the MP4 so it plays anywhere.

No — the overlay is rendered entirely in your browser with a self-hosted engine.

The clip never leaves your device and there is no size cap, signup or watermark.

Detailed Explanation

Methodology

How the Video Text Overlay Tool Works

AnyTool burns text onto video entirely in the browser using a self-hosted single-threaded ffmpeg.wasm engine — the core (ffmpeg-core.js + the 32 MB wasm) is bundled from npm and served as a same-origin asset, so nothing is fetched from a CDN. Rather than relying on a font inside wasm (drawtext needs an embedded font file), the text is rendered to a transparent PNG on an HTML <canvas> using any installed web font, color, outline, and box background, and that PNG is composited onto the clip with ffmpeg's overlay filter, then re-encoded as H.264 video with AAC audio in an MP4. An optional time window limits when the overlay appears via enable='between(t,a,b)'. Single-threaded is deliberate: the multi-threaded core needs SharedArrayBuffer + cross-origin isolation (COOP/COEP), which would block cross-origin ad iframes, so it is avoided.

  • Runs client-side — the video is never uploaded
  • Self-hosted ffmpeg core (bundled) — no CDN
  • Text rendered to a transparent canvas PNG — any web font/color/outline/box
  • Composited with the ffmpeg overlay filter (no font needed in wasm)
  • Optional time window via enable='between(t,a,b)'; H.264 + AAC MP4
  • Single-threaded (keeps ads working); no backend, no cap
Privacy & Security

Privacy vs Upload-based Tools

Most online text-overlay tools upload your file to a server and cap the free tier or add a watermark. AnyTool burns text locally with a bundled engine, so the video never leaves your browser, there is no size limit, no watermark and no signup, and it works offline after the first load.

Text overlay: AnyTool vs typical tools
CapabilityAnyToolTypical tools
Data handlingIn your browserOften uploaded
Engine sourceSelf-hosted (no CDN)CDN / server
FontsAny web font (canvas PNG)Limited built-in set
StylingColor / outline / boxVaries
Timed displayYes (between(t,a,b))Rare
CostFree, no signupFree/limited

AnyTool is a privacy-first client-side text-overlay tool — burning runs locally and nothing is uploaded.