Where apps hide your files
An iPhone or iPad app running on an Apple silicon Mac stores its documents, settings and caches in a sandbox container whose folder name is a random identifier. Here is the path, and a two-step lookup that tells you which folder belongs to which app.
iPhone and iPad apps run only on Macs with Apple silicon, and each one keeps its data in a sandbox container in your Library folder:
~/Library/Containers/<UUID>/Data/
The folder name is the catch. A native Mac app's container is named after its bundle identifier (com.apple.TextEdit, for example), but an iPhone or iPad app's container gets a random identifier such as EC171034-219A-4A2F-8157-C3E1122A0AFE. Nothing in that name tells you which app owns it, so you need the app's bundle identifier first and then a short lookup.
Data the app shares with its own extensions or sister apps from the same developer sits in a second place, and that one does have a readable name:
~/Library/Group Containers/group.<identifier>/
In /Applications, an iPhone app is not a normal Mac app. Its .app is a wrapper: inside is a Wrapper folder holding the original iOS app, plus a WrappedBundle link that points to it. Apple's developer support calls this structure an implementation detail of how macOS installs iOS apps, so treat the names as current behaviour rather than a promise.
Read the identifier from the wrapped app (replace AppName with the name shown in Applications, and keep the quotes if it contains spaces):
/usr/libexec/PlistBuddy -c "Print :CFBundleIdentifier" "/Applications/AppName.app/WrappedBundle/Info.plist"
It prints something like com.company.appname.
Every container holds a small hidden metadata file that records which app owns it. This read-only command prints the metadata file that mentions your identifier:
grep -l -a -s "com.company.appname" ~/Library/Containers/*/.com.apple.containermanagerd.metadata.plist
The folder between Containers/ and the file name in the result is the app's container. To confirm one folder, read only its owner key:
defaults read ~/Library/Containers/<UUID>/.com.apple.containermanagerd.metadata.plist MCMMetadataIdentifier
On recent macOS versions, the first command may make macOS ask whether Terminal can access data from other apps; the lookup needs that permission.
Then open the folder in Finder with Go > Go to Folder (⇧⌘G), or in Terminal with open ~/Library/Containers/<UUID>/Data. For group containers, a name filter is enough: ls ~/Library/Group\ Containers | grep -i company.
The container is created the first time the app runs. If you installed an app and never opened it, there is no folder yet.
| Item | What it holds |
|---|---|
Documents | Files the app saves for you, when it uses ordinary files at all |
Library/Preferences | Settings, usually a .plist named after the bundle identifier |
Library/Application Support | Databases and support files, if the app uses them |
Library/Caches | Data the app can download or rebuild |
tmp, SystemData | Scratch space and system bookkeeping |
Desktop, Downloads, Pictures, Music, Movies | Links to your real folders, not copies |
Those links are how the sandbox lets the app reach your own folders. They are not duplicate data, so ignore them when you are measuring how much space an app uses.
Many iOS apps keep their content in a database under Library rather than as separate files, so an empty Documents does not mean the app has no data.
Apps written for the iPhone expect you to use their Share or Export button, so try that first: on a Mac it leads to a save panel or the share menu, and you pick a normal folder. Apps that sync through iCloud may also put their files in iCloud Drive, where Finder shows them in the usual way.
Copying from Documents in Finder is the fallback for plain files. Quit the app first so nothing is half written, and copy rather than move. A database copied out of Library will not open in anything else.
Check how big a container is with a read-only command:
du -sh ~/Library/Containers/<UUID>
Growth is usually in Library/Caches. Emptying that folder with the app quit is generally safe because the app rebuilds it, although it may download things again. Leave Documents, Preferences and Application Support alone unless you mean to reset the app.
Dragging an iPhone app from Applications to the Trash removes the app, but its container can stay behind with all its data. If you are finished with the app, confirm the folder's owner with the defaults read check above, then move that one folder to the Trash in Finder. Avoid pasting rm commands from tutorials here: one mistyped identifier deletes a different app's data.
Time Machine backs up ~/Library/Containers along with the rest of your home folder, and Migration Assistant normally carries containers to a new Mac. Copying one container by hand is not a supported route, and an app may ignore a folder it did not create. For anything you cannot lose, use the app's own export or its iCloud sync.
The containers sit under ~/Library, which Spotlight and Finder searches leave out by default. The folder names are random, and the real app is tucked inside a wrapper, so a search for the app's name shows the wrapper in Applications and nothing more.
The settings file inside the container is usually named after the bundle identifier, so typing that identifier into Everywhere, say com.livebird, lists the .plist inside the random-named folder along with the matching group container. Both sit where macOS lets another app look only after you grant Full Disk Access, so allow it when Everywhere asks during setup. Press ⌘↵ on the .plist and Finder opens inside the right container; only names are matched, never what is inside the files.
In ~/Library/Containers, in a folder with a random identifier (a UUID) rather than the app's name, with Documents and Library folders inside Data. Shared data may also sit in ~/Library/Group Containers.
Get the app's bundle identifier from /Applications/AppName.app/WrappedBundle/Info.plist, then search the hidden .com.apple.containermanagerd.metadata.plist files in ~/Library/Containers for that identifier.
Moving the app to the Trash can leave its container behind, so the data stays on disk until you move that container folder to the Trash yourself.
No. Running iPhone and iPad apps needs a Mac with Apple silicon.
Everywhere keeps track of every file on your Mac — including the folders Spotlight hides and drives you have unplugged. Free for a day, then $19 once.
Version 2.20.3 · macOS 13+ · 4.7 MB · notarised