Overview
Subtitles for Serbian, Croatian, Polish and other Central and Eastern European languages often come in legacy encodings like Windows-1250 or ISO-8859-2. Plex expects UTF-8, so the special characters come out garbled. Drop an .srt file into sub2utf and you get a clean UTF-8 copy back.
What it does
- Detects the encoding automatically, with a manual override when detection isn't confident
- Names files the way Plex expects: converted files are saved as
name.utf8.{lang}.srt - Keeps files private: detection and conversion run in your browser or on your computer, and nothing is uploaded
- Runs on the web and the desktop: use it at sub2utf.org, or download the macOS, Windows or Linux app, which saves straight to disk without a dialog
How it works
Detection uses chardetng, the encoding detector from Firefox, written in Rust. The same Rust code is compiled to WebAssembly for the browser and runs natively in the desktop app. Conversion uses TextDecoder on the web and encoding_rs on desktop. One Svelte UI sits on top of both, with a small adapter for each platform.
Built with
Svelte 5, Tailwind v4, Tauri v2 and Rust, with chardetng compiled to WebAssembly.
