Whitepaper
Zip, rar and weird file names: swapping files between Mac and Windows
Someone sends you a zip from a Windows PC, you unpack it, and suddenly the files are called Quote_caf‚.pdf. Or you send a folder to a colleague and they ask what all those __MACOSX folders are. Swapping files between a Mac and Windows usually works, but when it goes wrong it’s almost always one of the same ten causes. This whitepaper is part of the series Mac and the rest of the world, about the friction between your Mac and everything that isn’t made by Apple. I’ll go through the causes and finish with a table and a step-by-step plan.
Zip files with garbled names
The zip format is old. The original specification stores file names in CP437, the character set of the 1980s IBM PC. Later a flag was added so a program can say the names are in UTF-8. The catch: plenty of programs don’t set that flag correctly. Older Windows software stores names in the PC’s local code page (in Western Europe usually CP850 or Windows-1252) without saying so. Your Mac unpacks it, guesses wrong, and your é turns into some odd character.
Archive Utility, the unpacker built into macOS, has no setting to choose the character set. You get whatever it guesses. The fix is an app that handles this better:
- The Unarchiver (free, Mac App Store, now owned by MacPaw). Tries to detect the encoding itself and is usually better at it than Archive Utility.
- Keka (free download from keka.io, paid in the App Store). Actively maintained, recent releases include fixes for macOS 26.
- BetterZip (paid). Lets you look inside an archive before unpacking.
Opening rar, 7z and tar.gz
Archive Utility handles zip and the Unix formats such as .tar, .gz, .tar.gz and .bz2. For .rar and .7z you need an extra app. The Unarchiver and Keka both do it, including archives split into parts (.part1.rar, .7z.001). Put all parts in the same folder and open the first one.
The other direction got easier. Since late 2023 Windows 11 can open rar, 7z and tar.gz by itself, and since version 24H2 it can also create 7z and tar files through Compress to in File Explorer. A plain zip is still the safest choice when you don’t know which Windows version the recipient has.
Password-protected zips
Password zips come in two flavours: the old ZipCrypto encryption (weak) and AES-256 (strong, the default in 7-Zip and WinRAR). Archive Utility doesn’t handle AES zips well. You get a vague message like “Unable to expand” or “Error 79”, often without ever being asked for a password. That says nothing about your password, it’s the tool. Open the file with Keka or The Unarchiver, which ask for the password properly.
Making a protected zip for a Windows user yourself? Use Keka and choose AES. The built-in zip support in Windows can’t open AES zips, so the recipient will need 7-Zip or WinRAR. Send the password through a different channel than the file.
Making zips for Windows users
With Compress in the Finder you have a zip in two clicks. But macOS adds a __MACOSX folder full of hidden ._ files. You don’t see them on a Mac, Windows users do. They’re harmless but messy. How to avoid them is explained in Hidden Mac files on your USB stick. In short: make the zip with Keka (it has an option to leave out Mac files) or use zip -r -X archive.zip folder in Terminal.
Characters Windows doesn’t allow
On a Mac almost anything goes in a file name. Windows is stricter. These characters are forbidden there:
\ / : * ? " < > |
On top of that, a Windows name can’t end in a dot or a space, and names like CON, PRN, AUX, NUL, COM1 and LPT1 are reserved. A file called Question: who pays?.docx is fine on your Mac, but arrives mangled on a Windows PC or network drive, or doesn’t arrive at all.
The colon is special on the Mac itself too. The Finder won’t let you type a :, but it does allow a /. Under the hood macOS swaps the two: what you see as / is stored in the file system as :. Copy that to a Windows share and macOS turns it into a substitute character that looks like a strange symbol on Windows. Simplest rule: in names that go to Windows, use only letters, digits, spaces, hyphens, underscores and dots.
Café shows up twice: Unicode normalization
This one is the trickiest. A letter like é can be stored in Unicode in two ways: as one character (NFC, which Windows uses) or as an e plus a separate accent (NFD). On screen they look the same, but to a computer they’re different names. macOS often creates file names in NFD form. When they land on a Windows share, a Synology or in OneDrive, you can end up with café.docx twice in one folder, a sync that keeps stalling, or a link to the file that doesn’t work.
How often this goes wrong depends heavily on the software in between, and I haven’t been able to test every combination with macOS Golden Gate. What helps in practice: no accents in file names you share. On a Synology, check the SMB settings for a Mac compatibility option (vfs_fruit), which catches a lot of it.
Case, long paths and hidden extensions
Upper and lower case. A Mac drive (APFS) is case-insensitive by default, just like Windows. Invoice.pdf and invoice.pdf are the same file. On a Linux server or a case-sensitive NAS folder they can sit side by side, and that breaks as soon as you copy the folder to your Mac.
Long paths. Windows has traditionally had a 260-character limit for the whole path, including every folder name. You can raise it in Windows 11 with a registry or policy setting, but not every program plays along, and according to Microsoft staff File Explorer itself still doesn’t handle it well. A deeply nested project folder from your Mac then won’t fully unpack on Windows. Keep folder names short, or move the folder closer to the root before zipping.
Hidden extensions. Both the Finder and File Explorer hide extensions by default. That’s how a file ends up as report.pdf.pdf, or someone renames photo.heic to photo.jpg and thinks it’s converted. In the Finder, go to Settings > Advanced and turn on “Show all filename extensions”.
Mail attachments and shortcuts
- .eml is an ordinary email message. Double-click and Mail opens it.
- .msg is Outlook for Windows’ own format. Mail can’t open it. Whether Outlook for Mac does depends on the version; if it doesn’t, ask the sender for a PDF or .eml, or use a viewer from the App Store.
- winmail.dat shows up when an Outlook user sends in “Rich Text”. The real attachments are hidden inside it. An app like TNEF’s Enough or Winmail Dat Viewer gets them out. Better: ask the sender to mail in HTML or plain text.
- .lnk is a Windows shortcut. It points to a location on the sender’s PC and is useless on your Mac. Ask for the actual file.
Text files and CSV
Windows ends lines with two characters (CRLF), Mac and Linux with one (LF). Old scripts and some import functions trip over that. BBEdit and Visual Studio Code convert it in one click.
CSV has an extra twist for anyone dealing with Dutch or other European users. Excel on a Dutch Windows PC uses the semicolon as separator, because the comma is already the decimal mark. A CSV with commas opens there as one long column, and the other way around. Excel for Windows also often expects a BOM (an invisible character at the start) to recognise that the file is UTF-8. Without it, é turns into gibberish again. In Excel for Mac choose CSV UTF-8 under Save As; that adds the BOM. The separator depends on your region settings. In Numbers, pick the text encoding under Advanced Options when exporting.
Quick overview: problem, cause, fix
| Problem | Cause | Fix |
|---|---|---|
| Odd characters in names after unpacking | Zip in old code page without UTF-8 flag | Unpack again with The Unarchiver or Keka |
| .rar or .7z won’t open | Archive Utility doesn’t know the format | The Unarchiver or Keka |
| Password zip gives an error | AES encryption | Open with Keka or The Unarchiver |
| __MACOSX folder at the recipient’s end | Finder zip includes Mac metadata | Keka or zip -r -X |
| File doesn’t arrive on Windows or NAS | Forbidden character, trailing dot or space | Rename, safe characters only |
| File appears twice or won’t sync | NFD versus NFC with accents | Remove accents from shared names |
| Unpacking stops halfway on Windows | Path longer than 260 characters | Shorter folder names, less nesting |
| winmail.dat instead of attachments | Outlook sending in Rich Text | TNEF viewer, or ask the sender to use HTML |
| CSV opens as one column | Comma versus semicolon | Import via Data > From Text and pick the separator |
| é becomes é in Excel | UTF-8 without BOM | Save as CSV UTF-8 |
Step-by-step plan
- Install The Unarchiver or Keka and make it the default for zip, rar and 7z.
- Turn on “Show all filename extensions” in the Finder.
- Sending something to Windows? Check names for
: * ? " < > |, a trailing dot or space, and accents. - Keep paths short:
Project/Quotesrather than five folders deep. - Make the zip with Keka without Mac files, or with
zip -r -Xin Terminal. - Using a password? Choose AES, tell the recipient they need 7-Zip and send the password separately.
- Sending a CSV to a Dutch Excel user? Save as CSV UTF-8 and check the separator.
- Getting winmail.dat or .msg? Ask the sender for another format first, only then reach for an extra app.
And with Apple?
Between two Macs hardly any of this matters. AirDrop and iCloud Drive keep names, accents and metadata intact, and Archive Utility always unpacks Finder zips correctly. The problems happen at the border: Windows PCs, NAS boxes, OneDrive and old mail programs. Apple has barely extended Archive Utility in recent years, so on macOS Golden Gate you still need an extra app for rar, 7z, AES and character sets. Luckily the best ones are free.
This whitepaper describes the situation in October 2026, with macOS Golden Gate and Windows 11.
This article is part of the Mac and the rest of the world series, where you’ll find every part in one place.