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

How do I add subtitles to a video and burn them in without uploading it?

Open AnyTool's Add Subtitles, drop in a video, then upload an SRT or VTT file or type timed captions by hand. Style the font size, text color, outline, shadow and position, and it hardcodes the subtitles permanently into the picture using ffmpeg's libass subtitles filter with a bundled font. It all runs with a self-hosted engine in your browser — the video is never uploaded, the engine is bundled (no CDN), and there is no signup, watermark or size cap.

  • Import SRT/VTT or type timed captions manually
  • Style font size, color, outline, shadow and position
  • Hardcoded (burned in) via ffmpeg libass with a bundled font → MP4
  • Self-hosted engine — no CDN, no upload, no signup

What is

Burning in subtitles

Burning in (hardcoding) subtitles renders caption text permanently onto every frame of a video, so it shows on any player without a separate file. It reads timed text from an SRT or VTT source (or typed captions) and draws it with a styling engine such as libass, controlling font size, color, outline, shadow and position. Client-side burn-in does this in the browser, so the video is never uploaded.

Video Tools

Related terms

SRTVTThardcodelibasscaptions

How to Add Subtitles to a Video

Burn SRT/VTT or typed captions into a video in your browser.

45 secWeb browser
  1. 1

    Add a video

    Drop in a clip — it stays on your device.

  2. 2

    Add captions

    Upload an SRT or VTT file, or type timed captions, then style the font, outline and position.

  3. 3

    Export

    Burn the subtitles in and download an MP4 — nothing is uploaded.

Result: A video with burned-in subtitles

Frequently Asked Questions

Burned-in (hardcoded) captions are drawn permanently onto the picture, so they always show; soft subtitles are a separate toggleable track.

This tool hardcodes them via ffmpeg's libass filter so they appear on every player and platform.

No — you can upload an SRT or VTT, or just type timed captions by hand.

Either way you can style the font size, color, outline, shadow and position before burning them in.

No — the subtitles are burned in entirely in your browser with a self-hosted engine.

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

Detailed Explanation

Methodology

How the Add Subtitles Tool Works

AnyTool burns subtitles into 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. You can upload an SRT or VTT file, or type cues directly which are serialized to SRT. The subtitle file, a bundled font, and the video are written to ffmpeg's virtual filesystem (MEMFS), then the libass-backed subtitles filter renders and permanently hardcodes the captions, with force_style controlling font size, color (in BGR), outline and alignment. The styled video is re-encoded to H.264/AAC and read back as an MP4 blob, so the captions are baked in and play everywhere. Single-threaded is deliberate: the multi-threaded core needs SharedArrayBuffer + cross-origin isolation (COOP/COEP), which would block cross-origin ad iframes.

  • Runs client-side — the video is never uploaded
  • Self-hosted ffmpeg core (bundled) — no CDN
  • Accepts SRT and VTT, or typed cues serialized to SRT
  • libass subtitles filter with a bundled font written to MEMFS
  • force_style: font size, color (BGR), outline, alignment
  • Captions permanently hardcoded into the H.264/AAC MP4
  • No backend, no signup, no size cap
Privacy & Security

Privacy vs Upload-based Subtitle Tools

Most online subtitle burners upload your video and caption file to a server and cap the free tier or add a watermark. AnyTool renders and hardcodes the captions locally with a bundled engine, so neither the video nor the subtitles leave your browser, there is no size cap or watermark and no signup, and it works offline after the first load.

Add subtitles: AnyTool vs typical tools
CapabilityAnyToolTypical tools
Data handlingIn your browserOften uploaded
Input formatsSRT + VTT (or typed)Varies
Renderinglibass + bundled fontServer render
OutputPermanently hardcodedVaries
CostFree, no signupFree/limited

AnyTool is a privacy-first client-side subtitle burner — rendering runs locally and nothing is uploaded.