Caption Burn-In Studio

Hardcode SRT or VTT subtitles directly into your video frames, 100% in-browser with zero uploads.

100% Private & Client-Side: Your video and subtitles are processed entirely inside your web browser using HTML5 Canvas and MediaRecorder. Nothing is uploaded to any cloud server.

1. Import Video & Captions

🎬
Select Video File
MP4, WebM, MOV, or MKV
📝
Select Subtitle File
.SRT or .VTT format

2. Live Preview & Styling Controls

00:00 / 00:00

3. Render & Download Hardcoded Video

Click below to render the video frame-by-frame with burned-in subtitles. Rendering runs at high speed in real time inside your browser memory.

Preparing render pipeline...

Hardcoded Captions vs. Soft Subtitles

Hardcoded (burned-in) captions are drawn directly onto the video frames during rendering. Unlike soft subtitles (which require an external SRT file or player toggle), burned-in captions display universally on any device, social media platform, or video player without relying on platform support.

When to Use Hardcoded Captions

Subtitle Formatting Best Practices

FAQ

Q: Is my video uploaded to any server?
A: No. All video decoding, canvas drawing, subtitle rendering, and video recording take place 100% inside your local browser memory.

Q: What subtitle formats are supported?
A: Supports standard .SRT (SubRip) and .VTT (WebVTT) subtitle files, as well as direct text pasting.

When to burn captions in

Burned-in captions are part of the picture and cannot be switched off, translated or restyled. That permanence is the entire trade. It guarantees the words appear wherever the video goes, and it removes every choice the viewer would otherwise have.

Burn in when the platform cannot be trusted to render a caption track, which in practice means most social feeds. Video watched silently while scrolling needs text visible by default, and a caption file the platform ignores or renders illegibly delivers nothing. This is why social cuts are captioned differently from the same content on a long-form platform.

Use a separate caption track wherever it is supported. It lets viewers turn captions off, choose a language, and use their own size and contrast settings, which matters for people who need larger text than your design provides. A caption track is the accessible option, and burning in should be a deliberate exception rather than the default.

Style for the worst background in the video, not the average one. Burned-in text sits over whatever the picture does, so text passing over a dark shot becomes invisible over a bright one. A semi-transparent plate or a heavy outline guarantees legibility regardless, and both are less intrusive than they sound.

Keep the text clear of the lower edge. Platform interface elements, progress bars and automatic captions all occupy that region, and burned-in text placed there competes with them. Sitting slightly higher than feels natural during design keeps the words readable in the place they will actually be watched.

Vocabulary

Burned-in captions. Text rendered permanently into the video image, sometimes called open captions or hardcoded subtitles. Always visible on every platform, and impossible to disable, translate, resize or restyle once the file is exported.

Closed captions. Text supplied as a separate track the player renders, letting viewers switch them off, change language and adjust appearance. The accessible default wherever a platform supports them.

Caption plate. A solid or semi-transparent background drawn behind caption text so it sits on a known colour rather than directly on moving picture. The reliable way to keep burned-in text legible throughout.

Safe area. The region of the frame clear of platform interface and cropping. Burned-in captions placed outside it compete with progress bars and automatic captions, or get cut off entirely.

Translate this page

Machine translation provided by Google Translate, on Google’s servers. We do not check these translations and they will get technical terms wrong. The English page is the authoritative one. Following a link sends this page’s address to Google. Your browser may also offer to translate this page itself, which keeps the request on your device.