ZIP Filename Encoding Fixer
Opened a ZIP and found every filename turned into nonsense? This tool reads the archive's raw filename bytes, works out which code page they were really written in, shows you the old-to-new mapping before anything changes, and rebuilds the archive with proper UTF-8 names. Your files never leave your browser.
Drag & drop your ZIP file, or click to browse
The archive is read entirely in your browser - it is never uploaded.
Two different problems, two different fixes
The ZIP format predates Unicode. Its original specification said filenames were simply “bytes”, with no record of which code page produced them, so a Japanese Windows machine wrote Shift_JIS and a Korean one wrote EUC-KR. Modern software reads those bytes as UTF-8 and produces mojibake. A later revision added general-purpose bit 11 to each entry to declare “this name is UTF-8”; when that flag is missing, the bytes are legacy and have to be re-decoded with the right code page. This tool reads the archive's central directory directly to get at those undecoded bytes, then scores each candidate code page by how much like real text it makes the whole set of names look.
The second problem looks similar but is unrelated. macOS stores filenames in NFD, so Korean names are written as separated jamo rather than composed syllables. Those entries usually do set the UTF-8 flag and are technically valid - but Windows displays them as 자소분리, with the jamo scattered apart. The fix there is not decoding but normalisation, so NFC is applied to every entry regardless of its flag.
Because guessing a code page is a heuristic, nothing is renamed until you have seen it. Every mapping is listed old name beside new name, anything that still looks wrong after decoding is flagged, and each name is editable - so you can correct one stubborn file by hand instead of accepting a bad guess across the whole archive.
Questions fréquentes
zip 解凍 文字化け 直す - how do I fix garbled filenames when unzipping?
Upload the ZIP here rather than extracting it first. The tool reads the raw filename bytes out of the archive, detects whether they were written in Shift_JIS, EUC-KR, GBK or another legacy code page, and shows you the corrected names for approval. Download the rebuilt archive and every name will be stored as UTF-8, so it extracts correctly on Windows, macOS and Linux alike.
Why do Japanese filenames break when a ZIP moves between Windows and Mac?
Because Japanese Windows traditionally wrote filenames into ZIP archives as Shift_JIS bytes without marking them as such. macOS and Linux assume UTF-8, so those bytes get misinterpreted and the name comes out as unrelated symbols. The file contents are completely unaffected - only the names are wrong, which is why simply renaming them fixes everything.
자소분리 해결 - my Korean filenames are split into separate jamo
That is the macOS NFD problem rather than an encoding one. macOS stores filenames in decomposed form, so 한글 is written as its individual jamo components. Windows renders that literally, showing the letters scattered apart. This tool applies NFC normalisation to every entry in the archive, recomposing the syllables, and the rebuilt ZIP then displays correctly on Windows.
Does this change the files inside the archive?
No. Only the filenames are rewritten. The contents of every file are extracted and repacked byte for byte, and the folder structure is preserved exactly. Nothing inside your documents is touched.
What if the tool guesses the wrong encoding?
You will see it before anything is downloaded. The preview lists every old name beside its proposed new name, and you can switch code page from the ranked list to re-decode the whole archive instantly. Any individual name can also be typed in by hand, which is the reliable escape hatch when one entry decodes badly while the rest are fine.
Are my files uploaded to a server?
No. The archive is parsed, renamed and rebuilt entirely inside your browser using local JavaScript. Nothing is transmitted, so it is safe for confidential archives - and it works offline once the page has loaded.
Which encodings can it detect?
Shift_JIS (CP932) for Japanese, EUC-KR (CP949) for Korean, GBK (CP936) for Simplified Chinese, Big5 for Traditional Chinese, and Windows-1252 for Western European names. It also honours the Info-ZIP Unicode Path extra field when an archive includes one, since that records the correct name outright and beats any guess.
Can it handle large archives?
Yes, within the memory your browser allows, since the whole archive is held locally while it is rebuilt. Progress is shown entry by entry during the rebuild. Very large archives - several gigabytes - may be limited by available memory rather than by the tool itself.