Hardsubs

Hardcode Subtitles Into a Video

To hardcode subtitles is to render them into the video image, so the file and the text can never be separated again. That suits some deliveries and works against others, so this page weighs hardsubs against soft subtitles first. When a hardsub is what you need, the editor here makes one from your video plus an SRT, a VTT or subtitles written by AI.

Subtitle editor

Load a video, get subtitles from AI, an SRT/VTT file or your own typing, style them, and download an MP4 with the subtitles in the picture.

MP4, MOV, M4V, WebM or MKV · free to edit and render · no watermark · the video stays on your device

Hardsub, softsub and the words in between

"Hardsub" grew up in fan-subtitling and editing circles to describe a release whose subtitles are part of the encode itself. Its opposite, "softsub", is a release that carries subtitles as a selectable track or a separate file. Several neighbouring terms get mixed up with these, and it helps to pin them down before choosing:

Hardcoded, hardsub, burned-in
Text rendered into the frames. Every copy shows it and there is nothing to toggle.
Softsub, soft subtitles
A subtitle stream or file that the player draws on top at playback. It can be turned on, off or swapped.
Muxed or embedded track
A softsub stored inside the container (MKV, MP4, WebM) instead of beside it. Still soft, still optional.
Sidecar file
An SRT or VTT kept next to the video, usually with a matching file name.
Open captions
The accessibility term for always-on captions, which normally include sound cues and speaker names as well as dialogue.

When someone asks you to "embed" subtitles they could mean either a muxed track or a hardsub, and the two jobs need different tools. Embedding subtitles in a video untangles that request.

Hardsub versus softsub, side by side

Where a hardsub comes out ahead:

  • Players that ignore subtitle files. Instagram, TikTok, WhatsApp, Telegram, presentation software, digital signage and plenty of smart-TV USB players show the picture and nothing else.
  • Guaranteed styling. The font, colour, box, size and position you chose are what everyone sees, including Arabic and Hebrew running right to left, Hindi in Devanagari, and Japanese or Thai with proper line breaks, all of which a basic player may render badly.
  • One self-contained file. Reviewers, clients and relatives never have to keep two files together or find the CC menu.

Where a softsub comes out ahead:

  • Choice. Viewers who don't want subtitles can hide them, and many players let people enlarge or recolour the text for their own eyes.
  • Languages. One video can carry a dozen subtitle languages; a hardsub carries exactly one.
  • Machine-readable text. Platforms can index it, and assistive software can use it.
  • Cheap corrections. A typo means editing a text file, not re-encoding an hour of video.

When a hardsub is the wrong choice

Some situations look like hardsub jobs but are better served by a file. A YouTube or Vimeo upload aimed at several countries is the clearest case: upload soft tracks per language and let the platform's own caption tools do the rest, as described in uploading subtitles to YouTube.

Masters and distribution copies are another. Broadcasters, distributors and streaming services usually want a clean picture plus separate subtitle files so they can localise it themselves; hardcoded text spoils that, which is why editors keep textless versions of their work.

Footage that still has editing ahead of it should stay clean too. Text burned into a clip gets cut, scaled and cropped along with the picture, so hardcode at the very end of the chain, from the final export.

Finally, a video that already carries burned-in subtitles in another language won't become clean by adding a second hardsub. The editor can blur a band over the old text and place the new lines on top, but that hides the old words without erasing them, and anything else inside the band is blurred too.

Making a hardsub in the browser editor

Start from the best copy of the video you have, ideally the original export rather than a file downloaded from a platform, because the hardsub is encoded from whatever you load. Open it in the editor (MP4, MOV, M4V, WebM or MKV), then bring in the subtitles. Import SRT / VTT handles an existing file. ASS and SSA scripts aren't read, so export them as SRT from your subtitle tool first; their signs, positioned text and per-line styling won't carry over, because the editor draws one consistently styled track. With no file at all, AI subtitles will write and time the lines from the speech.

Check the sync on a few lines spread across the video. A file that is early or late by the same amount everywhere is fixed in one move with "Shift all by"; a single stubborn line is easier to drag on the timeline. Then style for the screen it will play on, render, and download the -subtitled MP4. Your original file is left as it was.

Other ways to hardcode

Plenty of tools burn subtitles, and the right one depends on how you like to work rather than on any of them being universally better:

  • FFmpeg uses its subtitles filter from the command line. It is scriptable for batches and renders ASS styling faithfully, but takes some terminal comfort; burning subtitles with FFmpeg has a working command.
  • HandBrake is a desktop app with a "Burn In" option on its Subtitles tab, plus fine control over encoder settings.
  • VLC can burn subtitles during Convert / Save, though the option is easy to miss; see burning subtitles with VLC.
  • Full video editors such as Premiere Pro, DaVinci Resolve or CapCut render caption tracks into the export, which makes sense if the project already lives there; the DaVinci Resolve subtitle guide shows one.
  • The editor on this page runs in a browser with no install, previews the exact styling and can write the subtitles with AI first; it outputs MP4 only and leans on your computer's memory and disk.

Quick calls on real requests

A client wants to review a rough cut on their phone

Hardsub. They will watch it in a chat app or a mail preview where sidecar files go nowhere.

A tutorial channel with viewers in several countries

Softsub. Upload one SRT per language to the platform and leave the picture clean.

A short film heading to festivals

Both, kept separate. A hardsub screener works for selection committees, while the screening copy follows each festival's delivery specification; festival subtitles covers what usually gets asked for.

If you only need the subtitle file for a softsub, generate it with the subtitle generator and skip rendering altogether.

About the subtitle editor on this page

Opens
MP4, MOV, M4V, WebM, MKV videos your browser can decode
Subtitles from
AI (from the speech, optionally translated into one of 21 languages), an SRT or VTT file, or typing them in
You download
An MP4 with the subtitles drawn into the picture at the original resolution and frame rate, plus SRT and VTT files
Cost
Editing, styling, rendering and SRT/VTT export are free, with no account and no watermark. AI subtitles cost 1 credit per minute (5-credit minimum per video); signing in with Google gives 100 free credits and accounts get 10 free credits a day
Privacy
The video never leaves your device and is rendered in your browser. Only for AI subtitles is the audio sent, over HTTPS, and it is deleted within 30 minutes of delivery
Rendering needs
Chrome or Edge 94+, Safari 16.4+, or Firefox 130+ on a computer. Editing and SRT/VTT export work in any current browser

More: burn, embed and hardcode

Subtitle tools

Frequently asked questions

What does hardsub mean?

A hardsub is a video whose subtitles are rendered into the picture during encoding. The opposite is a softsub, where the subtitles stay a separate track or file that the player can show or hide.

Can someone turn off hardcoded subtitles?

No. The text is part of every frame, so no player can hide it. If viewers need the choice, publish a clean copy with an SRT or VTT file alongside.

Can I hardcode ASS subtitles with their typesetting intact?

Not in this editor: it imports SRT and VTT only, and draws every line with one style that you set in the Style tab. For ASS scripts with signs and positioned text, FFmpeg's subtitles filter keeps the typesetting.

Is a hardcoded copy bigger than the original file?

Often a little, because the bitrate is normally set above the source's own to protect picture quality. Resolution and frame rate stay the same.

Can I make a hardsub on my phone?

You can edit lines and export SRT or VTT on a phone, but rendering the video isn't something to count on there. Use Chrome, Edge, Safari or Firefox on a computer for the render.