Marcos88 downloadsEnter a distraction-free zen mode by hiding sidebars, properties, title and status bar. Works on desktop and mobile.
A lightweight Obsidian plugin that clears the screen so you can read and write without distractions. One tap hides everything you don't need; a floating button brings it all back the moment you want it.
Works on desktop, tablet, and mobile.
When you activate Zen Mode, Ultra Zen Mode hides the parts of the Obsidian interface that aren't your content:
| Element | Hidden by default |
|---|---|
| Left sidebar (ribbon + panel) | ✅ |
| Right sidebar | ✅ |
| Note properties / frontmatter | ✅ |
| Tab bar | ✅ |
| Status bar | ✅ |
| Inline note title | ❌ (optional) |
A small floating exit button appears in the bottom-right corner of the screen. It stays out of your way (very transparent) until you hover or tap it, then it comes forward so you can exit Zen Mode with one click.
Three ways — use whichever feels natural:
Ctrl/Cmd + P, search for Toggle Zen Mode.To exit, click the floating button that appears in the bottom-right corner, or use any of the three methods above again.
Open Settings → Ultra Zen Mode to choose exactly what gets hidden:
All settings take effect the next time you enter Zen Mode, so you can experiment freely.
main.js, styles.css, and manifest.json from the latest release..obsidian/plugins/ultra-zen-mode/ inside your vault.Requirements: Node.js ≥ 18 and npm.
# Clone and install dependencies
git clone https://github.com/MarckFp/ultra-zen-mode
cd ultra-zen-mode
npm install
# Watch mode — rebuilds on every file save
npm run dev
# Production build (minified, no sourcemap)
npm run build
The plugin is written 100% in TypeScript — no JavaScript source files. The build pipeline is:
src/main.ts → esbuild (via esbuild.config.ts + tsx) → main.js
Copy main.js, styles.css, and manifest.json into your vault's plugin folder to test locally.
Ultra Zen Mode is intentionally simple and fast. The entire logic lives in a single file, src/main.ts, and works in three steps:
uzm-hide-left-sidebar) to document.body.styles.css contains scoped rules that hide the target elements only while those classes are present. Nothing leaks outside of Zen Mode.Because the approach is pure CSS class toggling, it is extremely fast and does not rely on timers, MutationObservers, or any polling.