Skip to content

The privacy-first menu bar manager for macOS. Native, lightweight, and scriptable.

License

Notifications You must be signed in to change notification settings

sane-apps/SaneBar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

381 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

SaneBar

GitHub stars License: GPL v3 Release macOS 15+ Privacy: 100% On-Device Built with Claude

⭐ Star this repo if it's useful! Β· πŸ’° Buy for $6.99 Β· Keeps development alive

SaneBar on Product Hunt

Your menu bar. Not theirs.

Hide clutter. Lock sensitive icons with Touch ID. Zero spying.

⚑ Power Your data stays on your device. No cloud, no tracking.
❀️ Love Built to serve you. No dark patterns or manipulation.
🧠 Sound Mind Calm, focused design. No clutter or anxiety.

▢️ Watch the demo (30 seconds)

SaneBar Demo - Hide Icons & Lock with Touch ID

SaneBar Find Hidden Icon


Download

Open source dies without support. Ice is broken. Hidden Bar is abandoned. Bartender sold out. That's what happens when there's no sustainable model.

SaneBar is different: open source AND sustainable.

  • Build it yourself β€” Clone the repo, it's GPL v3 licensed, always will be
  • Or buy the DMG β€” Signed, notarized, ready to use. Supports continued development.

I wanted to make it $5, but processing fees and taxes were... insane. β€” Mr. Sane

Download or build from source

Requirements: macOS 15 Sequoia or later, Apple Silicon (arm64) only


How It Works

  1. Click the SaneBar icon to show/hide your menu bar icons
  2. ⌘+drag icons to choose which ones hide
  3. Option-click the SaneBar icon to open Power Search
  4. That's it!

SaneBar organizes your menu bar into three zones:

  • Always-Hidden (far left) β€” Icons only accessible via Find Icon or Second Menu Bar
  • Hidden (middle) β€” Icons that show/hide when you click
  • Visible (right of separator) β€” Always shown

Features

Zero Spying

  • πŸ”’ Secure Reveal β€” The only menu bar manager that locks hidden icons behind Touch ID or password. Protect sensitive apps like crypto wallets, messaging tools, and VPNs.
  • 100% On-Device β€” No analytics. No telemetry. No network requests. Verify with Little Snitch: SaneBar makes zero connections.

Privacy Settings

Power Search

  • Find Hidden Icon β€” Search and click any menu bar app, even if hidden behind the Notch
  • Keyboard Navigation β€” Arrow keys to navigate, Enter to select, Escape to close
  • Virtual Click β€” Activate menu bar items without seeing them
  • Per-Icon Hotkeys β€” Global shortcuts for your most-used menu bar apps

Migration

  • Import from Bartender β€” Automatically import your hidden/visible icon layout from Bartender's plist
  • Import from Ice β€” Automatically import your configuration from Ice's plist
  • Settings Export/Import β€” Back up your entire SaneBar configuration and restore on another Mac

Automation Ready

  • AppleScript Support β€” Full scripting integration for Shortcuts and automation workflows
  • Smart Triggers β€” Auto-show on Focus Mode, WiFi network, app launch, or low battery
  • Profiles β€” Save different setups for work, home, or presentations

Rules and Automation

Second Menu Bar

An alternative to Find Icon β€” instead of searching by name, see all your hidden and always-hidden icons in a floating bar below the menu bar.

  • Click the SaneBar icon to show hidden icons in a second menu bar instead of expanding the separator
  • Right-click any icon to move it between Visible, Hidden, or Always-Hidden zones
  • SaneUI styling with vibrancy, hover effects, and ESC to dismiss
  • Enable: Settings β†’ General β†’ Hiding β†’ Show hidden icons in second menu bar

Onboarding Wizard

A first-run flow to get you set up in under 30 seconds:

  1. Welcome β€” What SaneBar does, competitor import detection (Bartender/Ice)
  2. Your Style β€” Choose a preset: Minimal (manual only), Smart (auto-hide + hover), or Presenter (Touch ID lock + always-hidden). Pick your menu bar icon style.
  3. Permissions β€” Grant Accessibility access

Core

  • One-click hide/show β€” Toggle visibility with a single click or hotkey (default: ⌘)
  • ⌘+drag to organize β€” Choose which icons hide and which stay visible
  • Auto-hide β€” Icons disappear after a configurable delay

Gestures

  • Hover to reveal β€” Move your cursor to the top of the screen to show hidden icons
  • Scroll to reveal β€” Two-finger scroll in the menu bar area
  • Directional scroll β€” Scroll up to show, scroll down to hide (optional)
  • ⌘+drag reveal β€” All icons appear while rearranging so you can organize freely

Customization

  • Liquid Glass β€” Translucent styling (ready for macOS 26 Tahoe when available)
  • Bar Styling β€” Tint, shadow, borders, and rounded corners (all macOS versions)
  • Custom Menu Bar Icon β€” Upload your own icon image or choose from 5 built-in styles (filter, dots, lines, chevron, coin)
  • Light/Dark Mode Tinting β€” Separate tint color and opacity for light and dark mode
  • Extra Dividers β€” Add 0–12 additional visual dividers (line or dot style)

Appearance Settings

Works perfectly on Macs with Notch. 100% private β€” no network requests, no analytics, no account.


Power User Features

πŸ” Find Hidden Icon

Search for any menu bar app by name and activate it β€” even if it's behind the Notch. This is SaneBar's original access method. Prefer a visual overview instead? Use the Second Menu Bar.

  1. Option-click the SaneBar icon, or use the menu Find Icon… (default hotkey: βŒ˜β‡§Space)
  2. Type an app name and press Return
  3. SaneBar will reveal hidden icons and virtually click the app's menu bar item
  4. After a configurable delay (default 15 seconds), icons automatically hide again

This works even if the icon is physically hidden behind the Notch or off-screen!

⌨️ Per-Icon Hotkeys

Assign a specific global hotkey to any menu bar app.

  1. Open Find Icon… window
  2. Select an app from the list
  3. Click the Record Shortcut box in the footer
  4. Press your desired key combination
  5. Now, pressing that hotkey will instantly show hidden items and open that app's menu

🎨 Bar Styling

Customize the look of your menu bar panel.

  • Go to Settings β†’ Appearance
  • Enable "Custom Appearance"
  • On macOS 26 Tahoe: Enable Translucent Background for the native Liquid Glass look
  • On older macOS: Adjust Tint Color, Opacity, Shadow, Border, and Rounded Corners

πŸ’Ύ Profiles

Save different menu bar configurations for different contexts (e.g., "Work", "Gaming", "Presentation").

  • Go to Settings β†’ General β†’ Saved Profiles
  • Click Save as Profile…
  • Restore any profile with a single click

πŸ”’ Always-Hidden Zone

A dedicated zone for icons you rarely need. Icons pinned here never show automatically β€” they're only accessible via Find Icon or the Second Menu Bar.

  • Right-click any icon in Find Icon or the Second Menu Bar β†’ Pin in Always Hidden
  • Pinned icons stay hidden even when you reveal your menu bar
  • Unpin anytime from the same right-click menu

🩺 Space Analyzer

Built-in menu bar health tool to help understand your icon layout.

  • Go to Settings β†’ Appearance
  • Shows visible vs hidden icon distribution
  • Helps diagnose spacing issues and optimize menu bar usage

πŸ“ Icon Groups & Smart Categories

Organize your menu bar apps in the Find Icon window.

  • Icon Groups β€” Create custom groups to organize apps (e.g., "Work", "Media")
  • Smart Categories β€” Automatic categorization by app type
  • Group and filter icons for quick access

The Notch & 50+ Apps

Worried about losing icons behind the Notch?

If you have 50+ apps, macOS might hide some of them behind the camera housing (the "Notch") or off-screen. SaneBar handles this gracefully:

  1. Hiding: SaneBar pushes unused icons safely off-screen so your menu bar looks clean
  2. Safety Lock: If SaneBar itself would get pushed off-screen, it refuses to hide to ensure you never lose control
  3. Find Hidden Icon: Can't see an icon because it's behind the Notch? Open Find Icon…, type the app name and hit Enter. SaneBar will find it and click it for you, even if it's invisible
  4. Tighter Icon Spacing: Reduce system-wide menu bar spacing to fit more icons. Go to Settings β†’ Appearance and enable "Reduce space between icons" (requires logout)

Configuration

All settings are in the Settings window (click SaneBar icon β†’ Settings, or press ⌘,).

Tab What's there
General Launch at login, show in Dock, security (Touch ID/password lock), hiding options (second menu bar), software updates, saved profiles, import from Bartender/Ice, settings export/import, reset to defaults
Rules Auto-hide behavior, revealing gestures (hover, scroll), automatic triggers (battery, apps, Wi-Fi, app change, external monitor)
Appearance Custom menu bar icon, divider style, extra dividers, menu bar styling (tint, opacity per light/dark mode, shadow, border, corners), space analyzer, icon spacing
Shortcuts Global keyboard shortcuts, AppleScript commands
About Version info, privacy badge, licenses, support, report issue

Revealing Gestures (Settings β†’ Rules)

  • Hover near top β€” Show hidden icons when you move cursor to the top of the screen
  • Scroll up β€” Two-finger scroll up in the menu bar reveals hidden icons

Automatic Triggers (Settings β†’ Rules)

  • Low Battery β€” Auto-show when battery drops below threshold
  • App Launch β€” Show when specific apps start
  • Wi-Fi Change β€” Show on specific networks (click "Add current network")
  • Focus Mode β€” Show when macOS Focus Mode changes (Work, Personal, etc.)
  • App Change β€” Auto-hide when you switch to a different application
  • External Monitor β€” Always show icons on external monitors (plenty of space)
  • Script Trigger β€” Run a custom script on a timer; exit 0 shows icons, non-zero hides

Icon Spacing (Settings β†’ Appearance)

Reduce the spacing between all menu bar icons system-wide to fit more icons before they get hidden by the notch.

  • Enable: Toggle "Reduce space between icons" in Appearance Settings
  • Defaults: Ships with notch-friendly values (spacing=4, padding=4)
  • Logout required: macOS reads these settings at login, so you must log out and back in for changes to take effect
  • Reversible: Disable the toggle and log out to restore default spacing

Privacy

Your data stays on your Mac. SaneBar makes zero network requests. No analytics. No telemetry. No account.

100% On-Device

Full privacy details


Support

⭐ Star the repo if SaneBar helps you. Stars help others discover quality open source.

Cloning without starring? For real bro? Gimme that star!

Donations

Address
BTC 3Go9nJu3dj2qaa4EAYXrTsTf5AnhcrPQke
SOL FBvU83GUmwEYk3HMwZh3GBorGvrVVWSPb8VLCKeLiWZZ
ZEC t1PaQ7LSoRDVvXLaQTWmy5tKUAiKxuE9hBN

For Developers

Build from source

Requirements

  • macOS 15.0+ (Sequoia or later)
  • Apple Silicon (arm64) only
  • Xcode 16+
  • Ruby 3.0+
  • XcodeGen

Build

git clone https://github.com/sane-apps/SaneBar.git
cd SaneBar
./scripts/SaneMaster.rb verify    # builds + runs tests
./scripts/SaneMaster.rb launch    # build and run

External contributors: SaneMaster.rb works standalone β€” no monorepo required. If the shared infrastructure isn't found, it falls back to direct xcodebuild commands. You can also build manually:

xcodebuild -scheme SaneBar -configuration Debug build

Project Structure

SaneBar/
β”œβ”€β”€ Core/                   # Business logic
β”‚   β”œβ”€β”€ Services/           # AccessibilityService, HoverService, etc.
β”‚   β”œβ”€β”€ Controllers/        # StatusBarController, SettingsController
β”‚   └── Models/             # Data models
β”œβ”€β”€ UI/                     # SwiftUI views
β”‚   β”œβ”€β”€ Settings/           # Modular settings tabs
β”‚   β”œβ”€β”€ SearchWindow/       # Find Icon, Second Menu Bar
β”‚   └── Onboarding/         # Welcome wizard
β”œβ”€β”€ Tests/                  # Swift Testing unit tests
β”œβ”€β”€ scripts/                # Build automation (SaneMaster.rb)
└── project.yml             # XcodeGen configuration
AppleScript automation
# Toggle hidden items
osascript -e 'tell app "SaneBar" to toggle'

# Show hidden items
osascript -e 'tell app "SaneBar" to show hidden'

# Hide items
osascript -e 'tell app "SaneBar" to hide items'

# List all menu bar icons
osascript -e 'tell app "SaneBar" to list icons'

# Pin an icon to always-hidden zone
osascript -e 'tell app "SaneBar" to hide icon "com.example.app"'

# Unpin from always-hidden zone
osascript -e 'tell app "SaneBar" to show icon "com.example.app"'
The story

Built pair programming with Claude. Wanted a menu bar manager that wasn't $15, didn't spy on me, and actually worked.

Documentation for contributors
Document Purpose
CONTRIBUTING.md How to contribute
SECURITY.md Security policy and reporting
CHANGELOG.md Version history
ROADMAP.md Feature status overview
GitHub Issues Bug reports and tracking
DEVELOPMENT.md Development rules and SOP

Why SaneBar?

Feature SaneBar Bartender Ice Hidden Bar
Touch ID / Password Lock Yes No No No
Always-Hidden Zone Yes No No No
Second Menu Bar Yes Yes Yes No
Find Icon Search Yes Partial No No
Open Source GPL v3 No Yes No
No Subscriptions $6.99 once $16 + annual Free Free
100% On-Device Yes No (telemetry) Yes Yes
Liquid Glass Ready Yes Unknown Partial No
Onboarding + Presets Yes No No No
Active Development Yes Sold (acquired) Sporadic Abandoned

License

GPL v3 β€” see LICENSE

Copyright (c) 2026 SaneApps. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3.