Take the 2-minute tour ×

What are these __MACOSX folders I keep seeing in zip files made by people on OSX? Some take as much as 30% of the file.

What program are producing these __MACOSX folder and how can mac users avoid this mistake?

share|improve this question

migrated from stackoverflow.com Feb 4 '10 at 1:58

This question came from our site for professional and enthusiast programmers.

They are super-irritating, yes, and usually pointless as the resource forks are so often empty. But at least they're harmless, unlike the non-standard approach Apple have taken to >4GB archive sizes with the built-in OS X stuff, which will confuse any other tool and break again for sufficiently large files. And hey, it could be worse, it could be storing two copies of each file with the same name, one for the data and one for the resource fork, often making it impossible to access either, like pre-OSX Mac used to. Oh Apple, why do you hate standard file formats? –  bobince Feb 3 '10 at 23:01
@bobince: actually, resource forks were a very good idea ... at the time. These days, the same effect is achieved by storing resources as individual files, most of which look pretty much like standard file formats. –  Duncan Feb 3 '10 at 23:20
Nothing wrong with metadata as such, it's just that Apple have such a knack of making up their own formats and messing up existing formats with gratuitously incompatible extensions! Having the content-type data as metadata is in itself a great thing and it saddens me that OS X is moving towards the Windows hack of file extensions as an alternative. Although this isn't as bad as on Linux, where the filesystem supports storing Content-Type metadata, but no desktops use it, preferring a thoroughly broken mixture of file-extension/name-patterns and content-sniffing (urgh!). Sigh, OSes eh? –  bobince Feb 3 '10 at 23:33
@bobince: But yes, at least the format they made up for this does not do any real harm, other than slightly cluttering directory listings and wasting essentially 1 inode and 1 block per empty resource fork extracted, unless you use something like NTFS (which will store the file contents in the MFT for such small files), in which case it just wastes the "inode" (MFT entry). –  SamB Feb 15 '11 at 20:52
Can be fixed after the fact by zip -d filename.zip __MACOSX/\* –  Chris Johnson Dec 2 '12 at 1:31
add comment

2 Answers

up vote 34 down vote accepted


Apple provides built-in capability to ZIP files in OS X 10.3 and higher, and these files are the result of Apple storing Resource Forks safe manner. You would never see these files running OS X 10.3 or higher, but since Windows and other operating systems do not understand this special form of Resource Forks they will appear as you see them.

share|improve this answer
It's not just resource forks, anything beyond basic file contents gets put in the AppleDouble file. Apple's moving away from resource forks, but toward things like extended attributes that'll also get stored in the AppleDouble container. –  Gordon Davisson Feb 5 '10 at 2:02
You make it sound like a feature. .zip files are intentionally lacking in the metadata department. If you want metadata, use a different format, not a Mac. Example of proper zip + metadata implementation: .jar –  Zenexer Aug 22 '13 at 4:11
dead link, please fix. –  think123 Feb 2 at 3:24
"since Windows and other operating systems do not understand"--Ugh. I just hate this kind of terminology –  Joe Plante Apr 23 at 2:38
add comment

Here's a link that explains it pretty well. I suppose it is a bit late to help Yada, but for posterity.

Explanation of resource fork at Wikepedia

The rest is my opinion:

@nickf: Never seeing these files is not a FEATURE of those OS X versions it is a FLAW. People produce data, wrap it up, store it on different mediums and so on. They need to know what is needed or what is not needed. Hiding it keeps them in the dark.

The age old bad idea of hiding things from users: A programmer, concerned with expediency of accomplishing his own work, abuses something in the domain of the end user, to make it easy for himself.

In this case he stored meta data in the user's data space, he then hid it from the user. He missed the big picture: The user won't become aware of the hidden details. When he packages his data and ships it somewhere unanticipated by the programmer, missing parts won't get shipped or unknown parts will arrive which neither the user nor the recipient can explain.

Hiding things from the user is bad. It assumes the user is stupid, when more accurately it is the programmer being stupid, or lazy.

To be clear, this bad habit is not confined to MAC. It is everywhere. It's a consequence of programmers falling in love with their own schemes and vendors prioritizing their own goals ahead of the needs of the end user.

In brief.

weird smelling programmer droppings emerging from under the rug where they were swept.

Programmers and vendors: Please keep things in the open. When you you hide them, you make yourself stupid and the user uninformed.

share|improve this answer
+1, just agreeing with your opinion. –  Drasill Jun 29 '12 at 8:46
add comment

Your Answer


