Why are my unzipped filenames garbled on Mac?

You unzip an archive a colleague sent from Windows and the filenames come out as strings like “안녕” or “文字”. The documents open fine — only the names are wrecked. Here is what actually happened, and how to get the real names back.

The cause: ZIP has no standard filename encoding

The ZIP format predates Unicode adoption, and most Windows tools still write filenames in the machine's regional code page: Shift-JIS on Japanese Windows, GBK on Simplified-Chinese Windows, Big5 on Traditional-Chinese Windows, EUC-KR on Korean Windows.

macOS Archive Utility assumes filenames are UTF-8. When the bytes are actually Shift-JIS or EUC-KR, every multi-byte character decodes to the wrong letters — that is the garbage you see. The file contents are untouched; only the names were mis-decoded.

Fix 1 — automatic: repair the ZIP itself

Drop the original ZIP onto Mojifix. It examines the raw filename bytes, detects which legacy encoding they are, and writes a repaired copy of the archive with correct UTF-8 names. The original ZIP is never modified, and unrecoverable characters are flagged instead of silently guessed.

Fix 2 — already extracted? Batch-rename the files

If you deleted the ZIP, drag the extracted files or folders into Mojifix instead. The same detection runs on the broken names and shows a before → after preview; confirm to restore all of them in one pass.

Fix 3 — manual (command line)

Technical users can re-extract with an encoding override, e.g. ditto -V -x -k --sequesterRsrc variants or unzip -O sjis archive.zip from Homebrew's unzip. The catch: you must already know the source encoding, and a wrong guess produces different garbage. Automatic detection avoids the trial-and-error.