Scan, fix, and verify file encoding issues across your entire project in one command. Mojibake, BOM, CRLF, null bytes — automatically detected and repaired.
click to copy
// interactive demo
Press Enter ↵ to run each command — just like the real terminal.
enc-doctor --help
or press the Enter key on your keyboard
// who is this for
If your project runs Python and touches text files, encoding-doctor is for you.
// features
Six issue types detected and fixed. Four commands. Zero configuration. Built for real Python projects.
├óÔÇáÔÇÖ name.py→ name.pyEF BB BF byte prefix silently added by Notepad and Excel. Breaks Python's open(), JSON parsers, and HTTP headers.\xef\xbb\xbf# my_module.py# my_module.py\r\n mixed with Unix \n. Creates noisy Git diffs, breaks shell scripts, and causes CI failures on Linux runners.line1\r\n line2\r\nline1\n line2\ndata\x00value\x00datavaluecp1252 + UTF-8 mixedUTF-8 unifiedjson.load() and PyYAML parsers."name’s value""name's value"enc-doctor scan <path> [--all]--all to also list clean files.enc-doctor fix <path> [--dry-run].bak backups before touching any file. Use --dry-run to preview changes first.enc-doctor verify <path>enc-doctor restore <file>.bak backup created by fix. Useful when a fix produces an unexpected result and you need to roll back one file..toml, no setup. Point it at a folder and it works. Everything is opinionated and sensible by default.chardet, no ftfy, nothing to pin or audit. Install once, works everywhere Python runs.// before you run fix
enc-doctor fix modifies files on disk. Know what you're doing before you run it.
enc-doctor verify and review changed files manually before committing.// how it works
// faq
enc-doctor scan has no license requirement and never will. You can scan any project, any size, as many times as you want — completely free. Only fix, verify, and restore require a license..bak backup of every file before modifying it. You can restore any file instantly with enc-doctor restore <file>. We also recommend backing up your entire project folder with xcopy (Windows) or cp -r (macOS/Linux) before running fix — the interactive demo shows you exactly how.__pycache__, .git, node_modules, and virtual environments automatically. It is designed for real production codebases, not just small scripts.enc-doctor deactivate. Team license covers up to 5 developers. Each developer activates with the same license key.// pricing
No subscription. No usage limits. No telemetry.
Buy once — license never expires. Works fully offline.
One-time payment · No subscription