More free subtitle tools
Same quality bar. Still free. Still no upload.
Your files never leave your device
Free to use, with no account, no usage limit and no watermark, because the work runs on your device rather than on our servers.
This is not a promise about how carefully we handle your upload. There is no upload. The file you choose is read into memory by your own browser, processed there, and handed back as a download — the tool has no server component and makes no network request with your data.
- Nothing is stored. We never receive the file, so there is no copy to retain, no retention period to disclose, and nothing to delete on request.
- Nothing is transmitted. No upload endpoint, no analytics payload carrying file contents, no third-party processor.
- You can verify it. Load this page, disconnect from the internet, and use the tool. It still works, because everything it needs is already on your machine.
- Nothing persists after you close the tab. Files are held in page memory only — not in local storage, not in a cache, not in a database.
A note on wording, because it matters: we do not describe these tools as “encrypted.” Encryption protects data that travels to somebody else's computer. Your file does not travel, so there is nothing to encrypt and nothing to intercept — which is a stronger guarantee than encryption, not a weaker one. The page itself is served over HTTPS like the rest of the site.
This makes the tools safe for material you are contractually barred from uploading to third-party services — client footage under NDA, unreleased campaign assets, anything covered by a confidentiality clause.
How it works
1. Drop a caption file
SRT or VTT up to 20 MB, read as UTF-8 in your browser.
2. Review the flagged cues
Replacement, control, zero-width, bidi, private-use and broken surrogate characters are listed by cue.
3. Download a cleaned copy
Control, zero-width and bidi characters are removed and the file is saved as UTF-8.
Questions
It flagged a replacement character. can this tool fix it?
No, and it says so rather than pretending to. A replacement character means the original bytes couldn't be decoded as UTF-8 at all. the real character is already gone by the time this tool sees the text. The fix is re-exporting or re-saving the source file as UTF-8, not editing the damaged copy.
Why does the cleaned download still contain private-use characters?
Because they aren't always a mistake. Some authoring tools use the private-use area deliberately for a custom icon or symbol, so removing them automatically could delete something intentional. They're flagged so you can judge each one, rather than stripped on the assumption they're always wrong.
Does it catch mojibake like é where é should be?
No. Text that was decoded wrongly earlier and then saved is valid UTF-8, so nothing marks it as broken. The checker finds replacement characters from failed decoding, control, zero-width, bidi-control and private-use characters, and unpaired surrogates.
Related tools
Stay in the same job cluster. Free tools stay on-device; paid tools are labelled as such.
These rearrange files. Versely makes new ones.
Everything on this page works on a file you already have, which is why it costs nothing. Generating something that did not exist (video from a prompt, a voice, a score) runs a model, and that costs credits.