Published by @SoNiceInfo at 10/13/2026
You zip a folder on your Mac, send it, and the person on Windows sees names like R├⌐sum├⌐.pdf instead of Résumé.pdf. The files themselves are fine; the problem is how the ZIP labels the text encoding of its file names. This guide explains why it happens, based on ZIPs we actually created with Finder's Compress and the zip command, and shows three ways to make ZIPs on a Mac that keep their names on Windows, plus how to leave out Mac-only files such as .DS_Store and __MACOSX.
The ZIP format doesn't fix the text encoding of file names. Instead, each file's header has a UTF-8 flag; when it is set, the name is UTF-8. When the flag is missing, the receiving system reads the name however it likes. Windows reads unflagged names in its legacy code page: CP437 on US English Windows, Shift_JIS (CP932) on Japanese Windows.
A Mac writes file names in UTF-8 but doesn't set the flag. So Windows decodes UTF-8 bytes as CP437 or Shift_JIS, and Résumé.pdf becomes R├⌐sum├⌐.pdf while a Japanese name like 見積書.pdf turns into a string of unrelated characters.
There is a second issue with accents and voiced marks. A Mac sometimes stores a character like é as two characters, e plus a combining accent (a form called NFD). Put into a ZIP as is, some tools on Windows show the accent separately. Combining them into one character (NFC normalization) avoids this.
On macOS 27, we compressed a folder containing Japanese-named files and a .DS_Store file, then inspected the ZIPs. Finder's Compress was reproduced with ditto -c -k --sequesterRsrc --keepParent, which the ditto man page says creates an archive similar to Finder's Compress.
| Method | UTF-8 flag | .DS_Store | __MACOSX |
|---|---|---|---|
| Finder's Compress | Not set | Included | Included (when a file has extended attributes) |
zip command (zip -r) | Not set (no option to set it) | Included (exclude with -x) | Not included |
| Python's zipfile | Set | Included | Not included |
| ZipScope | Set (plus NFC normalization) | Not included | Not included |
The zip command that ships with macOS is built without the option that sets the UTF-8 flag (-UN); using it gives an error. In other words, the built-in tools alone can't make a ZIP that keeps non-ASCII names intact on Windows.
The __MACOSX folder appears when a file carries extended attributes, such as files you downloaded or tagged in Finder. It holds files whose names start with ._.
ZipScope is a Mac app for unzipping and zipping, made by the author of this guide, that creates ZIPs Windows users can open without garbled names. It sets the UTF-8 flag on non-ASCII file names and normalizes them to NFC. .DS_Store, __MACOSX, and ._ files are left out by default.
Right-click to compress
Select files or folders in Finder, right-click, and choose Compress with ZipScope. Or drop them on the menu bar icon.
Check the settings
Leaving out .DS_Store and NFC normalization are on from the start. Check the file name and destination.
Click Create
You get a ZIP that keeps its names on Windows, shown in Finder.

Creating ZIPs without a password is free. Creating password-protected ZIP and 7z archives is part of Pro (a one-time in-app purchase). ZipScope never uses the network, so your files never leave your Mac.
macOS 14+ · Apple Silicon & Intel
Python's built-in zipfile module sets the UTF-8 flag on non-ASCII file names. In Terminal, go to the folder that contains what you want to compress and run:
cd ~/Desktop
python3 -m zipfile -c Documents.zip Documents/The first time you run python3, macOS may ask you to install the command line developer tools. This method has a few limits:
To keep .DS_Store out, delete it from the source folder first (this only resets Finder's view settings for the folder).
find Documents -name .DS_Store -deleteIf every file and folder name uses only plain ASCII letters and digits, any tool will do and encoding never comes up. It works reliably, but renaming many files takes time, and the names may mean less to the recipient.
Finder's Compress still adds .DS_Store and __MACOSX, so if that matters, use the zip command and exclude .DS_Store:
cd ~/Desktop
zip -r Documents.zip Documents -x "*.DS_Store"-x "*.DS_Store" leaves out .DS_Store files. The zip command doesn't create a __MACOSX folder.
.DS_Store is where Finder saves a folder's view settings. __MACOSX is a folder Finder's Compress creates to keep extended attributes. Both are hidden on a Mac but show up as regular files on Windows, which is why recipients ask about strange extra files.
-x "*.DS_Store" excludes .DS_Store. No __MACOSX folder is created.The problem also runs the other way. Windows writes ZIP file names in its legacy code page without the UTF-8 flag, so a ZIP from Japanese Windows stores its names in Shift_JIS. On macOS 27, we extracted such a ZIP with the built-in tool (ditto). With the Mac set to Japanese, the names came out correctly; with an English system encoding they came out as å©êœèë, and the unzip command stopped with an error. So whether the built-in tool gets it right depends on your Mac's language.
ZipScope detects Shift_JIS (CP932) names automatically, whatever your Mac's language, and shows them in proper Japanese. If detection is wrong, switch between CP932, UTF-8, EUC-JP, GBK, EUC-KR, and CP437 by hand. For ZIPs with a Japanese password, it tries both UTF-8 and CP932.


It is a marker in each file's header that says "this file name is written in UTF-8". The ZIP specification calls it bit 11 of the general purpose flag, also known as the Language encoding flag (EFS). When the flag is set, Windows reads the name as UTF-8. When it is missing, Windows reads the name in its legacy code page (CP437 on US English Windows, Shift_JIS on Japanese Windows), so names from a Mac come out garbled.
They may be using an old unzip tool that ignores the UTF-8 flag. Recent versions of Windows read UTF-8-flagged ZIPs correctly with the built-in tool (File Explorer), so ask them to open it there, or rename the files to plain ASCII and zip them again.
An unzip tool that can reread names as UTF-8 may show them correctly. Still, making a UTF-8-flagged ZIP on your side is more reliable and saves the recipient the trouble.
.DS_Store is where Finder keeps a folder's view settings (icon positions, view mode, and so on). Deleting it does not affect your documents, and Finder recreates it when needed. You don't have to delete it just to keep it out of a ZIP; see leaving out .DS_Store and __MACOSX.
Yes. ZipScope Pro (one-time purchase) creates password-protected ZIPs that carry the UTF-8 flag and open with Windows' built-in tool. The zip command can add a password but cannot set the UTF-8 flag. See How to create a password-protected ZIP on a Mac.
ZIPs made on a Mac garble on Windows because the Mac writes names in UTF-8 without the flag that says so. Finder's Compress and the zip command can't set that flag, so to keep non-ASCII names, use an app that sets the UTF-8 flag, such as ZipScope, or Python's zipfile. Leaving out .DS_Store and __MACOSX spares the recipient some confusion too.