
To show hidden files on a Mac, open a Finder window and press Command-Shift-Period. Files and folders macOS normally hides appear, dimmed, next to everything else. Press the same keys again and they disappear. Nothing is installed, nothing changes on the disk, and you never need Terminal for it.
Your Library folder has its own route: in Finder, hold down Option, open the Go menu and choose Library. For any other hidden place, choose Go › Go to Folder and type its path, such as ~/.
Most hidden items are hidden for a reason. In your home folder they're mostly developer tools' caches, installs and settings. At the top of the disk they're macOS's own folders. On external drives they're Spotlight's index, the drive's Trash and Finder's notes about each folder.
A few of them can be large and are worth checking. Most are tiny, and a couple, the .ssh and .gnupg folders that hold your keys, must never be deleted. This post shows how to see them, what the common ones are, which matter for space, and which to leave alone.
How to show hidden files on a Mac
There's one shortcut to remember, and it works everywhere Finder shows files. There's no checkbox for it in System Settings or in Finder's settings.
What does Command-Shift-Period do?
In Finder, Command-Shift-Period, using the period key beside the slash, reveals the items macOS hides. They appear dimmed, so you can tell them apart from ordinary files. The change applies to every Finder window at once, not only the one in front.
Eclectic Light, whose author has written about Finder's hidden items for years, notes the shortcut arrived with macOS Sierra in 2016. Apple's own list of Mac keyboard shortcuts doesn't include it, which is why so many people never find it.
Does it work in Open and Save dialogs?
Yes. The same keys reveal hidden items in any app's Open or Save dialog, according to Eclectic Light. That's useful when an app asks you to choose a file inside a hidden folder, such as a settings file in a tool's .config folder.
How do you hide them again?
Press Command-Shift-Period again. The shortcut changes only what Finder shows; the files themselves don't change either way.
Hide them again once you're done. With hidden items showing, it's easy to drag one somewhere by accident, or to rename a file and remove the period that kept it hidden.
Why don't some hidden files appear even then?
A few kinds of file stay invisible even with the shortcut. Eclectic Light names two: .DS_Store files, where Finder keeps each folder's view settings, and files whose names start with ._, which macOS creates on drives formatted for Windows. Both are covered below.
Some folders appear but won't open. Finder shows them with a small no-entry badge when your account isn't allowed to read them. That's macOS's permissions at work, and the Go menu can't get around them.
Is there a setting to show them all the time?
Not in System Settings or Finder's settings. Guides that make hidden files show permanently do it with a Terminal command. You don't need one: the shortcut does the same job whenever you want it, and puts everything back with the same keys.
| What you want | How | Good to know |
|---|---|---|
| See hidden items in a folder | Command-Shift-Period in Finder | Press again to hide them |
| See hidden items while choosing a file | Command-Shift-Period in an Open or Save dialog | Works in any app's dialog |
| Open your Library folder | Hold Option, then Go › Library | It isn't in the menu otherwise |
| Open any folder by its path | Go › Go to Folder, or Shift-Command-G | ~ is your home, / the top of the disk |
| Open the top of the disk | Go › Computer, then Macintosh HD | Then press Command-Shift-Period |
| Open your home folder | Go › Home, or Shift-Command-H | Where most dot folders live |
Opening the Library folder and other hidden places
Showing hidden files makes things visible. Getting to them is easier with Finder's Go menu, which can open any folder by name, hidden or not.
How do you open the Library folder?
- Click Finder in the Dock, or anywhere on the desktop, so Finder's menus are in the menu bar.
- Hold down the Option key.
- Open the Go menu and choose Library.
Apple's guide gives exactly this tip. The Library item appears in the menu while you hold Option. Once the folder is open, you can drag it into the Finder sidebar's Favorites to keep it a click away.
Can you keep the Library folder visible?
Apple's guide for macOS Big Sur described a Show Library Folder checkbox in the home folder's View Options. Apple's guides for current versions of macOS no longer mention it, so the Option-key route and the sidebar are the dependable ways in.
How does Go to Folder work?
Choose Go › Go to Folder, or press Shift-Command-G, and type a path. Apple explains the two shortcuts that matter: a tilde stands for your home folder, and a slash at the start means the top level of the disk.
So ~/ opens the Caches folder in your own Library, and / opens the one shared by every user. Typing a dot folder's name, such as ~/, opens it even while hidden files are hidden.
Why is the Library folder hidden?
Apple's developer documentation says Finder has hidden the Library folder in your home folder since Mac OS X Lion. It's where apps keep their data, caches and settings, and Apple's advice to users is not to keep their own files in it.
It's also the hidden place people most often go looking for space. The post on what's inside the Library folder goes through its folders one by one, with what's safe in each.
Which Library folder is which?
There are three. Apple's developer documentation describes the one in your home folder as the place for your own apps' data and settings, / as the place for resources every user shares, and / as reserved for Apple.
Only the first is hidden. The second sits in plain sight at the top of the disk, and the third belongs to macOS, which protects it. When a guide says "the Library", it nearly always means yours, at ~/.

Why macOS hides files at all
Apple's developer documentation explains that Finder, along with Open and Save dialogs, hides files and folders people should never have to use. Many are system or app resources that users can't, or shouldn't, change directly. They're hidden in a few different ways.
Names that start with a period
Any file or folder whose name begins with a period is hidden automatically. Apple says the convention comes from UNIX, which used it to tuck away settings and other special files. That's why developer tools, which come from the same tradition, name their folders .npm, .cargo or .config.
Eclectic Light points out a side effect: items whose names start with a period are left out of Spotlight's results, and so is everything inside a folder named that way. You can't search for them; you have to know where they are.
Folders hidden on purpose
Some folders don't start with a period but are hidden anyway. Apple lists the UNIX folders such as bin, etc, sbin, tmp, usr and var, which matter to developers more than to anyone else, and the Volumes folder, where every connected disk appears.
Finder offers its own way to reach disks, so it hides Volumes. Your home folder's Library joined the list in Mac OS X Lion.
Packages that look like single files
Apps, and some documents, are really folders that Finder shows as one item. Apple calls them bundles and packages. Control-click one and choose Show Package Contents to look inside, but treat it as read-only.
Some packages hold your own work. A Photos library is one, and Music, Final Cut Pro and iMovie keep libraries the same way. Change them only through their apps; files moved around inside a library package can break it.
Hidden doesn't mean protected
Hiding is about clutter, not safety. You can see, move and delete most hidden items in your home folder like any other file, which is why the next sections matter.
Protection is a separate layer. Apple says System Integrity Protection guards /System, /usr, /bin, /sbin and /var, along with the apps macOS installs, and blocks even an administrator from changing them. As Eclectic Light puts it, it doesn't stop you seeing those files; it stops you changing them.
The dot folders in your home folder
Choose Go › Home and press Command-Shift-Period. On a Mac that has never seen a developer tool, you'll see only a few dot items, among them .Trash, the folder behind your Trash. On a developer's Mac, there can be dozens.
What are they?
They fall into four groups:
- Caches and downloads of developer tools: npm, Gradle, Cargo, uv, Hugging Face and others. Mostly re-downloadable.
- Installed tools and versions: Node.js versions from nvm, Python versions from pyenv, Rust toolchains from rustup, editor extensions. Reinstallable, but not without effort.
- Settings: small text files and folders such as .zshrc, .gitconfig and .config.
- Keys: .ssh and .gnupg, which can't be replaced.
| Folder | What's in it | Level |
|---|---|---|
~/.npm/_cacache | Packages npm downloaded | Safe |
~/.npm/_npx | Packages npx downloaded to run commands | Safe |
~/.cache/uv | Python packages uv downloaded or built | Safe |
~/.gradle/caches | Gradle's dependencies and build cache | Safe |
~/.cargo/registry | Crates Cargo downloaded | Safe |
~/.nvm/versions/node | Node.js versions installed with nvm | Review first |
~/.cache/huggingface/hub | AI models from Hugging Face | Review first |
~/.ssh, ~/.gnupg | Your keys | Never remove |
Which ones are caches you can clear?
The npm cache is the classic one. The catalog's entry for the npm cache says npm keeps a copy of every package it downloads and never removes anything by itself, so the folder only grows. npm downloads whatever it needs again.
npm is a command-line tool with no app or menu. Its own cache command empties the cache safely; the next installs take longer and need an internet connection. The post on npm, Yarn, pnpm and Bun caches covers each tool's cache and its own way of clearing it.
Gradle's caches and Cargo's downloaded crates are Safe in the catalog for the same reason: the tool downloads them again when a project needs them. The cost is time and bandwidth on the next build, not data.
Which ones hold things you'd have to reinstall?
Folders of installed versions are different. The catalog marks each Node.js version installed with nvm as Review first, because it carries the global npm packages installed for it. Rust toolchains, Python versions from pyenv and editor extensions are rated the same way.
Remove them with the tool that installed them where it has a way: rustup and Ollama can each remove what they installed, and VS Code removes an extension from its Extensions view. The post on removing developer tools you no longer use goes through them tool by tool.
Why you must never delete .ssh or .gnupg
The OpenSSH manual describes ~/ as the default home for your SSH settings and authentication information. It holds your private keys, which prove who you are to servers, Git hosts and other services. A private key can't be recreated: lose it, and you have to make a new one and register it everywhere the old one was.
~/ is GnuPG's home, with the keys you use to sign or encrypt and the public keys of people you exchange them with. GnuPG's manual tells you to back up its keyring and revocation certificates.
Both folders are tiny. On one Mac measured in October 2026, .ssh took 4 KB. There's never a space reason to touch them.
What about the small settings files?
Files such as .zshrc and .gitconfig, and folders such as .config, hold settings for the shell and command-line tools. They're plain text, a few kilobytes each, and someone usually wrote them by hand.
Removing them frees nothing and resets the tool that reads them. Like app preferences in your Library, they're settings, and settings are never what fills a disk.
How much space do they take?
On a Mac with no developer tools, almost none. On a developer's Mac, a few gigabytes is common, almost all of it caches, installed versions and extensions.
- .npm2 GB
- .cache2 GB
- .vscode1.8 GB
- .local1.8 GB
- .nvm1.3 GB
- .cursor0.3 GB
One Mac, measured read-only in October 2026. The .ssh folder and the shell's settings files took 4 KB each.
Hidden folders at the top of the disk
Choose Go › Computer, open Macintosh HD and press Command-Shift-Period. Next to Applications, Library, System and Users, folders such as bin, etc, private, sbin, tmp, usr, var and Volumes appear, along with a few whose names start with a period. None of them is clutter.
Why is Macintosh HD really two volumes?
Apple explains that since macOS Catalina, macOS runs from its own read-only system volume, completely separate from your data, which lives on a second volume named Macintosh HD - Data. In Finder, both appear as one Macintosh HD.
So the folders you see at the top come from both. The system's own folders can't be changed at all; the Data volume holds your apps, your users' folders and the hidden folders below.
The UNIX folders
Apple's developer documentation describes them: bin and sbin hold essential command-line programs, etc holds the Mac's own settings files, tmp holds temporary files, usr holds more programs and libraries, and var holds logs and other files that change. On the Mac this post was written on, etc, tmp and var were links into the private folder.
System Integrity Protection covers /usr, /bin, /sbin and /var, so even an administrator can't change them. Inside private, the post on /private/var/folders explains the one part people most often find growing, and why macOS clears it on its own.
The dot folders macOS keeps on every disk
Three hidden folders at the top of a disk belong to macOS. On your startup disk, they're on the Data volume, the part that holds your files.
- .Spotlight-V100 holds the Spotlight index. The catalog marks the Spotlight index as Managed by macOS; when it's wrong, you rebuild it in Spotlight's Search Privacy settings.
- .fseventsd is where macOS records changes to files. Apple's developer documentation says it's readable only by the root user and that its data should never be worked with directly.
- .DocumentRevisions-V100 holds earlier versions of documents. The post on DocumentRevisions-V100 and document versions explains how to remove versions you don't need, one at a time, in the app that made them.
What about /usr/local and /opt?
These are where tools you install yourself go. Apple's article on System Integrity Protection lists /usr/local among the places other installers may still write to, and Homebrew's documentation says it installs into /opt/homebrew on Apple silicon.
What's in them belongs to the tool that put it there. Remove it with that tool, not in Finder: Homebrew, for instance, is command-line only and keeps track of everything it installed.
Can you delete anything up here?
Not through Finder, and not for space. These folders are macOS's own, or belong to tools that manage them. What they take is counted as System Data in System Settings › General › Storage, and the space that matters there is usually in your own Library and home folder, not up here.
| Folder | What it is | What to do |
|---|---|---|
/bin, /sbin, /usr | macOS's command-line programs | Nothing; macOS protects them |
/private | Settings, temporary files and logs | Leave it; macOS clears what's temporary |
/Volumes | One entry for each connected disk | Nothing; it's how disks are reached |
.Spotlight-V100 | Spotlight's index | Rebuild in Search Privacy if it's wrong |
.fseventsd | macOS's record of file changes | Leave it |
.DocumentRevisions-V100 | Earlier versions of documents | Delete versions in the app |
/opt, /usr/local | Tools you or an installer added | Remove with the tool that installed them |

Hidden files on external drives
Connect a USB stick or an external disk, open it, and press Command-Shift-Period. You'll often find items at its top level that you never put there. On a Windows PC, a TV or a car stereo, which don't hide them, they show up as strange extra files.
What is .Spotlight-V100 doing on my drive?
It's Spotlight's index of that drive. Every disk Spotlight searches gets its own index, stored on the disk it describes, so it uses the drive's space, not your Mac's.
If you never search the drive, add it to System Settings › Spotlight › Search Privacy, and Spotlight stops indexing it. The post on the Spotlight index and why it grows covers rebuilding and excluding disks.
What is .Trashes?
It's that drive's Trash. When you move a file from an external drive to the Trash, the catalog's entry for the Trash explains, it goes to a hidden .Trashes folder on the same drive, with a folder for each user. The space isn't free until the Trash is emptied.
That's the usual reason a drive looks full with nothing visible on it. Empty the Trash while the drive is connected. The post on why an external drive is full with no files goes through that and the other causes.
What is .fseventsd on a drive?
The same record of changes macOS keeps on the startup disk. Apple's developer documentation says it's kept at the top level of each volume, readable only by the root user. Leave it alone.
What are .DS_Store files?
Each one holds a folder's Finder settings: its view, icon positions and comments, according to Eclectic Light. Apple's note for network administrators says Finder reads them to decide how a folder's contents appear.
They're tiny; the one in the home folder of the Mac measured above was 20 KB. They stay hidden even with Command-Shift-Period, and they're among the strange files that appear when a Mac's drive is opened on a PC.
What are the files that start with ._?
Drives formatted as ExFAT or MS-DOS (FAT), the formats Disk Utility offers for use with Windows, can't store some of the information macOS keeps about files. Eclectic Light explains that macOS writes it into a companion file with the same name and ._ in front, in a format called AppleDouble.
The Mac hides them, and Windows doesn't. They hold the Mac-only details of a file, not its contents, and each is small.
Can you get rid of them?
Leave .Spotlight-V100, .fseventsd and .Trashes for macOS to manage. If the ._ and .DS_Store files bother someone using the drive on a PC, deleting them there costs only the Mac-only details they carried.
On a drive only Macs use, formatting it as APFS in Disk Utility stops the ._ files, because APFS stores that information itself. Formatting erases the drive, so copy everything off it first.
| Hidden item on a drive | What it is | Delete it? |
|---|---|---|
.Spotlight-V100 | Spotlight's index of the drive | No; exclude the drive in Search Privacy |
.fseventsd | macOS's record of changes on the drive | No |
.Trashes | Items moved to the Trash from the drive | Empty the Trash with the drive connected |
.DS_Store | Finder's settings for a folder | Not worth it; they're tiny |
._ files | Mac-only details on Windows formats | Only from a PC, if they bother you |
.DocumentRevisions-V100 | Earlier versions of documents on the drive | Delete versions in the app |
Which hidden files matter for space
Most hidden files are small enough that removing thousands of them frees almost nothing. A handful of hidden places can hold gigabytes, and they're worth knowing.
Which hidden folders can grow large?
- Developer caches and installs in your home folder, from a few hundred megabytes to many gigabytes, as the chart above shows.
- The Trash, in your home folder and on each drive, which holds everything until it's emptied.
- Spotlight's index, when indexing goes wrong. The catalog notes some people have seen it grow to well over 100 GB.
- Document versions, when large documents are edited often.
- iCloud's local data, which the post on bird and iCloud's cache explains, along with how to free it without losing anything.
Which ones never matter for space?
.DS_Store files, ._ files, settings files such as .zshrc, .gitconfig and app preferences, and the .ssh and .gnupg folders. They're measured in kilobytes. Deleting them saves nothing you'd notice and costs settings, view options or, in the case of keys, access you can't easily get back.
Why can't Finder measure some of them?
Because your account isn't allowed to read them. On the Mac this post was written on, even reading the size of the startup disk's .DocumentRevisions-V100 was refused; .Spotlight-V100 is locked away the same way.
Finder adds up only what it can open, so these folders show no useful size. The post on how Finder works out folder sizes explains why its numbers and Storage settings' numbers rarely match.
Where does Storage settings count them?
Open System Settings › General › Storage. Developer caches in your home folder, Spotlight's index and document versions are counted as System Data, and the Trash has a category of its own. A hidden folder never gets a line with its name, which is why large ones are hard to spot there.
Mistakes to avoid with hidden files
Hidden files reward curiosity and punish tidying. Most of the trouble people get into comes from treating unfamiliar names as leftovers.
Deleting a dot folder because you don't recognise it
An unfamiliar name isn't a sign that nothing uses it. Look it up first, or check whether a tool you use has that name. If nothing explains it, leave it; a folder you can't account for is cheaper to keep than to rebuild.
Removing a whole tool folder to clear its cache
The cache is usually one folder inside. .npm holds npm's caches, but a tool's folder can also hold settings, logins or installed versions. Clear the cache with the tool's own command, or move only the cache folder to the Trash.
Deleting macOS's own hidden folders
Some guides suggest deleting .Spotlight-V100 or .DocumentRevisions-V100 to get space back. On your startup disk, macOS protects both and manages them itself. Rebuild Spotlight's index in Search Privacy when it's wrong, and remove document versions in the app that saved them.
Pasting Terminal commands from a web page
Guides to hidden files often include commands to show everything permanently, or to delete every .DS_Store on the disk. A command that deletes files doesn't use the Trash, and a mistyped path can't be undone. Everything in this post works through Finder and System Settings.
Hiding things to keep them private
A period at the start of a name hides a file from Finder and Spotlight, but anyone who knows the shortcut can see it. For private files, use a password-protected disk image or FileVault, not a hidden folder.
What if you already deleted something?
If you used Finder, it went to the Trash. Apple's guide says items stay there until the Trash is emptied: open the Trash and choose File › Put Back to return an item to where it was. Once the Trash is emptied, they're gone; a Time Machine backup is the only way back.
A worked example: a developer's home folder
Here's the home folder from the chart, a developer's Mac measured in October 2026, read-only. Its hidden folders held about 9 GB.
Looking inside
The owner presses Command-Shift-Period in their home folder, then selects each large folder and chooses File › Get Info. Inside .npm, the download cache is 0.9 GB and npx's cache 1.0 GB. Inside .nvm, two Node.js versions take 1.1 GB and 0.2 GB. VS Code's extensions take 1.8 GB.
Deciding
- npm's two caches are Safe: npm downloads what it needs again. That's about 1.9 GB.
- The older Node.js version is Review first. If no project still uses it, it can go, through nvm or by moving its folder to the Trash.
- Extensions are Review first too: uninstall the unused ones in VS Code's Extensions view.
- A 1.6 GB folder inside .cache has a name no rule explains, so it stays until its owner is known.
The result
Clearing npm's caches and the older Node.js version frees about 3 GB once the Trash is emptied. Nothing in .ssh, .config or the settings files was touched, and nothing was deleted outside the Trash.
How the app does it
Wombit doesn't depend on Finder's hidden-files setting. Its scan reads the names, sizes and dates of everything it's allowed to read, hidden folders included, and shows them in the map with the rest. Folders macOS didn't let it read are listed, not skipped. File names and paths never leave your Mac.
Select a dot folder and the inspector says what it is and how safe it is to remove, from a catalog written and checked by hand, with sources. Items no entry explains get a Best guess, written on your Mac by Apple Intelligence and labelled as a guess, and they're never offered for removal. No entry covers .ssh or .gnupg.
Caches such as npm's are Safe and start checked in Cleanup. When a tool has its own cleanup command, the app runs it after the review sheet instead of deleting files; what a command removes can't be put back, and the sheet says so.
What the app runs, after you review itPRO
- npm cache clean --force
- npm's download cache
Installed versions, models and the Trash are Review first and wait for your choice. Spotlight's index and document versions are Managed by macOS: explained, handled through macOS's own mechanism, and never moved.
~/
.npm/ _cacache Packages and package information npm has downloaded, kept so it doesn't download them again.
Safe · Runs npm cache clean --force
~/
.npm/ _npx Packages npx downloaded to run commands that aren't installed in a project.
Safe · Moves it to the Trash
~/
.nvm/ versions/ node/ * Node.js versions installed with nvm
A version of Node.js installed with nvm, along with the global npm packages installed for it.
Review first · Moves it to the Trash
/
System/ Volumes/ Data/ .Spotlight-V100 The index Spotlight keeps for each disk so it can find files, and what's inside them, quickly.
Managed by macOS · Explained only: the app shows you how
/
System/ Volumes/ Data/ .DocumentRevisions-V100 Earlier versions of documents that apps like Pages, TextEdit and Preview save as you work, so you can go back to them.
Managed by macOS · Explained only: the app shows you how
~/
.Trash Items you've moved to the Trash. They still use space until the Trash is emptied.
Review first · Explained only: the app shows you how
The analyzer, the map and the explanations are free. Cleanup is PRO, one payment of $4.99 with lifetime access, and its review sheet is free to open, so you can see what would go and why before you buy.
Frequently asked questions
How do I show hidden files on a Mac?
Open a Finder window and press Command-Shift-Period. Hidden files and folders appear dimmed next to the others, in every Finder window. Press the same keys again to hide them. It works in Open and Save dialogs too.
Why can't I see my Library folder?
Finder has hidden the Library folder in your home folder since Mac OS X Lion, because it holds apps' data and settings rather than your own files. To open it, hold down Option in Finder, open the Go menu and choose Library. You can also choose Go › Go to Folder and type ~/Library.
Is it safe to delete hidden files on a Mac?
Some, not all. Developer caches such as npm's are safe to clear with the tool's own command, but hidden folders also hold installed tools, settings and your SSH and GnuPG keys. macOS's own hidden folders at the top of the disk, such as .Spotlight-V100 and .fseventsd, should be left to macOS.
What are .DS_Store files, and can I delete them?
They hold a folder's Finder settings, such as its view and icon positions. They're tiny, so deleting them frees almost nothing and only loses those settings. They stay hidden on a Mac even with Command-Shift-Period, but show up on Windows PCs.
What are the files starting with ._ on my USB drive?
On drives formatted as ExFAT or MS-DOS (FAT), macOS stores information those formats can't hold in a small companion file named with ._ in front. A Mac hides them; Windows and other devices show them. They don't hold the file's contents, and formatting a Mac-only drive as APFS stops them.
Can I delete .Spotlight-V100 and .Trashes from an external drive?
Leave them to macOS. .Spotlight-V100 is the drive's search index; to stop it, add the drive to Spotlight's Search Privacy list in System Settings. .Trashes holds items you moved to the Trash from that drive, and emptying the Trash while the drive is connected frees that space.
Why doesn't Command-Shift-Period work?
Make sure a Finder window or an Open or Save dialog is in front, since the shortcut works only there. The folder may also have no hidden items, or only .DS_Store and ._ files, which stay hidden even with the shortcut. Folders your account can't read still appear, but won't open.
How do I hide hidden files again?
Press Command-Shift-Period again in Finder. The shortcut only changes what Finder shows, so nothing about the files changes either way. Hiding them when you're done makes it harder to move or rename one by accident.
Sources
- Go directly to a specific folder on Mac · Apple
- About System Integrity Protection on your Mac · Apple
- File System Basics · Apple Developer
- File System Event Security · Apple Developer
- Revealing the Finder's hidden depths · The Eclectic Light Company
- How to hide files and folders · The Eclectic Light Company