How to Enable Hidden Files on Windows, Mac, and Linux

Every operating system hides certain files by default. Some are system files that could cause serious problems if accidentally deleted or modified. Others are configuration files, application data folders, or developer tools that most users simply don't need to see day-to-day. Knowing how to reveal them — and understanding why you might want to — is one of those foundational skills that separates casual users from people who genuinely understand their machines.

Why Files Are Hidden in the First Place

Hidden files aren't hidden because they're secret. They're hidden because they're sensitive, functional, or cluttering. Operating systems flag certain files with a "hidden" attribute to protect them from accidental interference. Examples include:

  • System files like boot loaders and OS configuration data
  • Dotfiles on Mac and Linux (files starting with a ., such as .bashrc or .zshrc)
  • Application support folders storing preferences, caches, and logs
  • Temporary files created and managed automatically by software

Enabling hidden file visibility is commonly needed for troubleshooting, development work, transferring application settings, or cleaning up storage manually.

How to Show Hidden Files on Windows

Windows uses a dedicated "Hidden" file attribute controlled through File Explorer or the command line.

Using File Explorer (Windows 10 and 11)

  1. Open File Explorer
  2. Click the View tab in the ribbon (Windows 10) or the View menu (Windows 11)
  3. On Windows 10: check Hidden items in the Show/hide group
  4. On Windows 11: go to View → Show → Hidden items

Hidden files and folders will now appear, slightly faded to distinguish them from normal files.

Using Folder Options

  1. Open File Explorer and go to View → Options (or search "Folder Options" in the Start menu)
  2. Click the View tab
  3. Under Advanced settings, select Show hidden files, folders, and drives
  4. Optionally, uncheck Hide protected operating system files — but do this carefully, as it reveals files that are genuinely risky to modify

Using the Command Line

If you prefer the terminal, dir /a:h in Command Prompt lists hidden files in the current directory. To make a specific hidden file visible permanently, use:

attrib -h -s filename 

This removes both the hidden and system attributes from that file.

How to Show Hidden Files on macOS 🍎

Mac handles hidden files differently. Most hidden items use the Unix dotfile convention (filename begins with a period) rather than a dedicated attribute. macOS also hides the ~/Library folder by default.

Using a Keyboard Shortcut in Finder

The fastest method: with a Finder window open, press Command + Shift + . (period). Hidden files immediately appear in grey. Press the same shortcut again to hide them.

Using Terminal

To permanently show hidden files in Finder:

defaults write com.apple.finder AppleShowAllFiles TRUE killall Finder 

To reverse it, replace TRUE with FALSE and run killall Finder again.

Accessing the Library Folder Specifically

If you only need the ~/Library folder (common for app troubleshooting):

  1. In Finder, click Go in the menu bar
  2. Hold the Option key — Library appears in the dropdown
  3. Click Library to open it directly

How to Show Hidden Files on Linux

Linux follows the dotfile convention universally — any file or folder starting with . is hidden. File managers and terminals handle this differently.

In a File Manager (GUI)

Most Linux file managers use the same shortcut: Ctrl + H to toggle hidden file visibility. This works in Nautilus (GNOME), Dolphin (KDE), Thunar (Xfce), and most others.

In the Terminal

The standard ls command doesn't show hidden files. Add the -a flag:

ls -a 

Or use -la for a detailed list including hidden files with permissions and sizes.

Hidden files on Linux are simply part of the filesystem naming convention — there's no separate attribute to manage, which makes the system more transparent once you understand it.

Key Differences Across Operating Systems

FeatureWindowsmacOSLinux
Hidden methodFile attribute flagDotfile + attributeDotfile convention
GUI toggleFile Explorer View menuCmd + Shift + .Ctrl + H (most file managers)
Terminal commandattrib, dir /a:hdefaults writels -a
System file riskHigher (separate toggle needed)ModerateLower (naming convention only)
Reversible easilyYesYesN/A (rename file to remove dot)

Variables That Affect Your Approach 🔧

How straightforward this process is depends on several factors specific to your situation:

  • OS version: The steps above reflect current major versions, but older systems (Windows 7, macOS Catalina and earlier) have slightly different menu locations
  • File manager: Third-party file managers on any OS may have their own visibility toggles
  • User permissions: On shared or managed machines, showing system files may require administrator access
  • Purpose: Accessing dotfiles for development is routine; accessing Windows OS files carries more risk and warrants more caution
  • Frequency: If you regularly work with hidden files (developers, power users), a permanent toggle makes sense; for one-off tasks, a temporary shortcut is cleaner

The type of hidden file also matters. Application configuration files, user dotfiles, and OS system files all behave differently and carry different levels of risk when modified. Revealing all hidden files at once exposes all three categories simultaneously — which is fine for browsing but worth being deliberate about if your goal is to edit something specific.

Understanding which category of hidden file you're looking for, and on which platform, shapes not just which method to use — but how careful you need to be once those files become visible.