AntiUpload// browser-resident file tools
ENESFRPTDE
SESSION · 
← Back to home

Baked-in captions · Pick colour, size & position · No watermark

Burn Subtitles

Bake .srt or .vtt captions into a video as pixels — plays everywhere, no separate subtitle track needed. Five font-size presets.

100% freeNo file size limitNo watermarkNo sign-up
  1. 1Pick file
  2. 2Configure
  3. 3Download
Two-file flow: pick the video here, then attach the .srt or .vtt file on the next step. Output is MP4 with captions baked into the picture.
  • Files never leave your browser — processed entirely on your device
  • No upload, no queue, no waiting for a worker to free up
  • No file-size cap from us — limit is your device's RAM

About Burn Subtitles

AntiUpload's Burn Subtitles tool bakes .srt or .vtt caption files into video as pixels — the captions become part of the picture instead of a separate subtitle track. The result plays everywhere with the captions always visible: every video player, every browser, every chat client supporting video, every legacy device. The opposite (soft subtitles, a separate selectable track in the container) is a feature most online tools don't expose, and it's the wrong choice when you want guaranteed visibility — for social platforms like TikTok and Instagram that don't reliably show soft subtitles, burned-in captions are the only way to ensure viewers see them.

The renderer is libass (compiled into our FFmpeg WASM build via `--enable-libass --enable-libfreetype --enable-libfribidi`) — the same subtitle renderer Plex / Kodi / mpv / VLC use for advanced subtitle rendering. libass handles RTL languages, complex fonts, anti-aliasing, drop shadows, outlines, and the ASS/SSA spec's full style language. V1 ships SRT and VTT input with default styling (yellow text + black outline — chosen for universal legibility across video content) and five font-size presets covering tiny → TikTok-style oversized. Custom font upload, style presets (TikTok / Instagram / news / cinematic looks), and ASS file input ship in follow-up PRs.

Why yellow text + black outline as the default style: it's bench-tested as the highest-legibility combination across diverse video content. White text vanishes against snow / sky / pale skin tones. Black text vanishes against shadows / night scenes / dark interiors. Yellow with a thick black outline is visible against every content type tested. It's also the convention for closed-captioning across broadcast (CCTV, AMI, BBC) so viewers recognise the visual language. The TikTok preset (Fontsize 64) makes the captions intentionally oversized — competing with the autoplay-noisy feed where viewers scrub past content quickly.

How it works

  1. Drop your video fileAccepts MP4, MOV, WebM, MKV, AVI, M4V, FLV. The video re-encodes during burn (subtitles are pixels-on-frames, not metadata). Output is always MP4.
  2. Drop your subtitle file (.srt or .vtt)SRT is the most common format (every transcription tool exports it). VTT is the web video standard, used by HTML5 <track> elements. The tool auto-detects from the .srt / .vtt extension.
  3. Pick a font sizeSmall (18) for unobtrusive overlay. Medium (24, libass default) for typical movie-subtitle look. Large (32) for older eyes. Huge (48) for projector / classroom viewing. TikTok (64) for social-media-feed competitiveness.
  4. Click Burn subtitlesRe-encoding runs through libx264 with libass rendering each frame's subtitle overlay. Progress bar shows live frame= updates. Typical 1-minute HD source completes in 1-3 minutes on a modern laptop.

When to use Burn Subtitles

TikTok / Instagram Reels captions
Social platforms don't reliably show soft subtitles — burning ensures viewers always see them. Pair with auto-generated SRT from our Auto Subtitles tool and pick the TikTok font size for the social-media-feed-competing look.
Captioning a Loom / screen recording for YouTube upload
YouTube has its own auto-caption track, but burning in your own caption file produces higher-quality captions that also display in YouTube's player. Belt-and-suspenders for accessibility compliance.
Hardcoding subtitles for upload to platforms that strip them
Many file-sharing services (Dropbox, Google Drive, embedded players) strip soft subtitle tracks. Burn-in is the workaround that preserves the captions in every distribution channel.
Foreign-language video for an English-speaking audience
Run the source through Auto Subtitles with translate mode → English SRT → burn in. Now the same video shows English captions regardless of player support.
Tutorial videos with software keystrokes / commands captioned
Hand-written caption files documenting specific keystrokes or commands. Burn in for offline reference videos / documentation that ships as MP4.

Frequently asked questions

How to add hardcoded subtitles to video for free?
Drop your video + SRT/VTT into AntiUpload Burn Subtitles. Pick font size, click burn. Output is MP4 with subtitles baked into the picture. No watermark, no signup, no upload. Compare to Veed ($25/mo to remove watermark), Kapwing (watermarks free), HappyScribe ($17/mo).
What's the difference between soft and hard subtitles?
Soft subtitles (the .srt file as a separate track in the container) are toggleable — viewers can turn them off. Hard subtitles (this tool) are pixels in the video — always visible, can't be removed, work on every player. Pick hard when you need guaranteed visibility (social media, embedded video). Pick soft when viewer choice matters (movies with multiple language tracks).
Why are my captions yellow with a black outline?
Default style — chosen for universal legibility across all video content types. White vanishes against pale backgrounds (sky, snow, skin); black vanishes against shadows. Yellow with a thick black outline is the broadcast convention because it stays visible against every content type. Custom colours / style presets (TikTok / Instagram / news / cinematic) ship in a follow-up PR.
Best free no-watermark subtitle burner online?
AntiUpload Burn Subtitles — no watermark, no signup, no size cap, no upload. The libass renderer (Plex / Kodi / mpv use this) handles RTL languages, complex fonts, anti-aliased text, drop shadows, outlines — same fidelity as desktop tools at no cost.
Does this work for ASS / SSA subtitle files?
V1 only supports SRT and VTT input. ASS / SSA (which carry their own styling — different fonts per cue, animations, karaoke effects) work fine in libass but the UI doesn't handle them yet. Ships in a follow-up PR; for now, export your ASS as SRT first if you can accept the styling loss.
Can I use my own font?
Not in V1 — uses libass's bundled fonts. Custom font upload (so the burn-in matches your brand typography) ships in a follow-up PR. For now, system fonts work for the default style.
How long does burn-in take?
Re-encoding the entire video with the libass overlay applied to each frame. Roughly real-time-ish on hardware-accelerated paths (WebCodecs path coming in a follow-up); 5-20× slower on Firefox (software libx264 in WASM). A 5-minute 1080p source typically burns in 10-30 minutes on Firefox, 1-3 minutes on Chrome.

Related tools