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

How do I permanently burn subtitles into a video without uploading it?

Open AnyTool's Subtitle Hardburn, drop in your video and an SRT or VTT file, and style the captions with a live, frame-accurate preview powered by the same libass engine used for the burn. Export an MP4 with the subtitles baked into the pixels. Bundled fonts cover CJK, Arabic, Cyrillic and more, so non-Latin text never breaks. It runs entirely in your browser — no upload, no watermark, no CDN.

  • Frame-accurate WYSIWYG caption preview that matches the burn
  • Full styling: font, outline, shadow, position, 1-tap presets
  • Bundled fonts for CJK, Arabic/RTL, Cyrillic and emoji
  • 100% in your browser — no watermark, no upload, no CDN

What is

Subtitle hardburn

Subtitle hardburn (hardcoding) renders subtitles permanently into a video's pixels so they always display and cannot be turned off. It re-encodes the video with the styled captions composited in (via libass / the ffmpeg subtitles filter). Client-side hardburn does this in the browser without uploading the video.

Video Tools

Related terms

hardcode subtitleslibassSRTVTTburn captions

How to Burn Subtitles into a Video

Hardcode SRT/VTT captions into a video in your browser.

1 minWeb browser
  1. 1

    Add video + subtitles

    Drop in your video and an SRT or VTT file — both stay on your device.

  2. 2

    Style + preview

    Set font, color, outline and position with a live frame-accurate preview.

  3. 3

    Export

    Burn and download the MP4 — nothing is uploaded.

Result: A video with permanently burned-in subtitles

Frequently Asked Questions

No — the burn runs entirely in your browser with a self-hosted engine.

The video and subtitle file never leave your device, unlike VEED, online video editors, Clideo or HappyScribe which upload to the cloud and often watermark or cap free exports.

Yes — bundled Noto fonts render CJK, Arabic/RTL, Cyrillic and emoji.

Many burners show empty boxes for non-Latin text; here the fonts are embedded so every language renders.

Yes — the live preview uses the same libass engine as the burn, so it is frame-accurate.

You can scrub, restyle and reposition captions and see exactly what the exported MP4 will look like before encoding.

Detailed Explanation

Methodology

How Subtitle Hardburn Works

AnyTool burns subtitles into a video entirely in the browser using two self-hosted engines. The SRT/VTT is converted to ASS in JavaScript, then rendered live with a libass-wasm (JASSUB) canvas overlaid on the video for a frame-accurate WYSIWYG preview — because the same libass engine drives the export, the preview matches the burn exactly. On export, the self-hosted ffmpeg engine runs the subtitles filter with bundled fonts (fontsdir) so the captions are composited into the pixels and re-encoded to H.264/AAC MP4. Bundled Noto fonts cover CJK, Arabic/RTL, Cyrillic and emoji so non-Latin text never renders as empty boxes.

  • Runs client-side — video and subtitles are never uploaded
  • Frame-accurate libass live preview matches the export
  • Full ASS styling: font, outline, shadow, box, 9-point position
  • Bundled fonts for CJK, Arabic/RTL, Cyrillic, emoji
  • Self-hosted ffmpeg + libass — no CDN
  • No backend, no watermark, no sign-up
Privacy & Security

Privacy vs Cloud Burners

VEED, online video editors, Clideo, HappyScribe and EZGIF upload your video and subtitle file, render on a server, and often watermark, cap length, or charge. AnyTool burns locally with bundled fonts and engines, so the files never leave the browser, there is no watermark or size cap, and every language renders correctly.

Subtitle hardburn: AnyTool vs typical tools
CapabilityAnyToolTypical tools
Data handlingIn your browserOften uploaded
Live previewFrame-accurate (libass)Usually none
Non-Latin fontsBundled (CJK/Arabic/…)Often tofu
Watermark / capNoneCommon
CostFree, no signupFree/limited

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