Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Unhide

polyipseitypolyipseity29k downloads

(formerly Show Hidden Files) Unhide hidden files, like dotfiles, in Obsidian.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates18

(formerly Show Hidden Files) Unhide hidden files, like dotfiles.

Repository · Changelog · Community plugin · Related · Features · Installation · Usage · Contributing · Security

Trailer

For first time users, read the installation section first!

This file is automatically opened on first install. You can reopen it in settings or command palette.

Features

  • Show files that are forcefully hidden in vanilla Obsidian.
  • Toggle visibility of hidden files.
  • Interact with hidden files normally like normal files.

Installation

  1. Install plugin.
    • Community plugins
      1. Install the plugin from community plugins directly.
    • Manual
      1. Create directory unhide under .obsidian/plugins of your vault.
      2. Place manifest.json, main.js, and styles.css from the latest release into the directory.
    • Building (rolling)
      1. Clone this repository, including its submodules.
      2. Install bun. See https://bun.sh for installation.
      3. Run bun install in the root directory.
      4. Run bun run obsidian:install <vault directory> in the root directory.
    • Obsidian42 - BRAT (rolling)
      • See their readme.
  2. Enable plugin. Before you enable, please check § Usage.
  3. (optional) Configure plugin settings.

Usage

  • Before enabling the plugin, check if your vault contains dot folders with a lot of files (e.g. 100+ files). If yes, Obsidian will likely freeze (for a long time) when you enable the plugin, as Obsidian scans all files in the dot folders.

    By default, the plugin excludes folders and files named .git or .venv at any level of the vault file tree. If your dot folders are excluded by the defaults, you can simply enable the plugin without freezing Obsidian. The defaults can be edited in plugin settings.

    If not, you should manually create .obsidian/plugins/unhide/data.json, with the following contents as an example (excluding the comments):

    {
        "showingRules": [
            "+/", // Needed to include all hidden files and folders.
            // Add dot folders with a lot of files, e.g.:
            "-/\\.git(?:\\/|$)/u",
            "-/\\.venv(?:\\/|$)/u",
            "-/\\.aDotFolderWithManyFiles(?:\\/|$)/u",
        ]
    }
    

    The example excludes folders and files named .git, .venv, or .aDotFolderWithManyFiles at any level of the vault file tree. You can instead use "-.aDotFolderWithManyFiles/" to exclude a folder or file named .aDotFolderWithManyFiles at the vault root only.

  • Enable the plugin.

  • Please also enable Files & links > Detect all file extensions for the plugin to work properly.

  • Other plugins will treat visible hidden files as normal files. This may cause issues such as treating plugin JavaScript files as user scripts. To resolve such issues, exclude those hidden files in the other plugins' settings or hide those hidden files in this plugin's settings.

Contributing

Contributions are welcome!

Changesets

This project uses changesets to manage the changelog. When creating a pull request, please add a changeset describing the changes. Add multiple changesets if your pull request changes several things. End each changeset with ([PR number](PR link) by [author username](author link)). For example, the newly created file under the directory .changeset should look like:

---
"example": patch
---

This is an example change. ([GH#1](https://github.com/ghost/example/pull/1) by [@ghost](https://github.com/ghost))

Linting, Commit, and Hooks

This project uses the following tools to ensure code and commit quality:

  • ESLint: Linting for TypeScript/JavaScript. Run with bun run check (lint only) or bun run fix (auto-fix lint issues).
  • Prettier: Code formatting. Run with bun run format (format all files) or bun run format:check (check formatting only).
  • markdownlint: Lints Markdown files. Run with bun run markdownlint or auto-fix with bun run markdownlint:fix.
  • commitlint: Enforces conventional commit messages. Used automatically on commit via Husky.
  • husky: Manages Git hooks. Pre-commit runs lint-staged and pre-push runs commitlint.
  • lint-staged: Runs linters on staged files. Markdown files are auto-fixed before commit.

Lint-staged note: The lint-staged configuration (.lintstagedrc.mjs) invokes formatter/linter binaries directly (for example prettier --write, eslint --cache --fix, markdownlint-cli2 --fix) so that the list of staged files is passed through to the tool. Invoking these via bun run would prevent lint-staged from forwarding filenames and cause the tool to operate on its default glob (or the entire repo). Use bun run format to format the entire repository when needed.

To set up locally:

  1. Run bun install to install dependencies and set up hooks.
  2. On commit, staged Markdown files will be linted and auto-fixed.
  3. Commit messages are checked for conventional format.

You can manually run:

  • bun run check — lint all code (no formatting)
  • bun run fix — auto-fix lint issues (no formatting)
  • bun run format — format all code with Prettier
  • bun run format:check — check formatting with Prettier
  • bun run markdownlint — check all Markdown files
  • bun run markdownlint:fix — auto-fix Markdown files
  • bun run commitlint — check commit messages in range

Configuration files:

  • .eslintrc.* or eslint.config.mjs — ESLint rules
  • .prettierrc — Prettier rules
  • .prettierignore — Prettier ignore patterns
  • .markdownlint.jsonc — markdownlint rules
  • .commitlintrc.js — commitlint config
  • .husky/ — Git hooks

Testing

This repository uses Vitest for fast unit tests. Tests live under tests/ and should be named *.spec.ts or *.spec.js.

  • Run locally (non-interactive, coverage): bun run test (runs vitest run --coverage).
  • Run locally (interactive / watch): bun run test:watch.
  • Git hooks: The pre-push hook runs bun run test (see .husky/pre-push) and will block pushes if tests fail.

See vitest.config.mts for minimal config and further instructions.

Todos

The todos here, ordered alphabetically, are things planned for the plugin. There are no guarantees that they will be completed. However, we are likely to accept contributions for them.

  • (none)

Translating

See assets/locales/README.md.

Security

We hope that there will never be any security vulnerabilities, but unfortunately it does happen. Please report them!

Supported versions

Version Supported
rolling ✅
latest ✅
outdated ❌

Reporting a vulnerability

Please report a vulnerability by opening a private vulnerability report. We will get back to you as soon as possible.

HealthExcellent
ReviewRisks
About
Show hidden dotfiles and other force-hidden items in the file explorer. Toggle their visibility and open, edit, or move hidden files just like regular notes.
FilesFoldersSidebar
Details
Current version
3.0.0
Last updated
Yesterday
Created
3 years ago
Updates
18 releases
Downloads
29k
Compatible with
Obsidian 1.4.11+
Platforms
Desktop, Mobile
License
AGPL-3.0
Report bugRequest featureReport plugin
Sponsor
Buy Me a Coffee
GitHub Sponsors
Author
polyipseitypolyipseity
github.com/polyipseity
GitHubpolyipseity
  1. Community
  2. Plugins
  3. Files
  4. Unhide

Related plugins

Custom File Explorer sorting

Manual or automatic config-driven reordering and sorting of files and folders in File Explorer.

Flexplorer

Enhance the file explorer with custom sorting, pinning, and hiding.

File Explorer Note Count

See the number of notes in each folder within the file explorer.

File Tree Alternative

An alternative file tree view with separate folder and file panes.

Notebook Navigator

A better file browser and calendar inspired by Apple Notes, Bear, Evernote and Day One.

Recent Files

Display a list of recently opened files.

Reveal Active File Button

Add a button to the top of the File Explorer, to reveal the active file.

Hide Folders

Quickly toggle the visibility of specific folders in the file navigator based on configured names. Useful for hiding attachment folders.

Quick Explorer

Perform file explorer operations (and see your current file path) from the title bar, using the mouse or keyboard.

Novel word count

Display a word count, page count, creation date, or other statistics for each file, folder and vault in the File Explorer pane.