Have you ever forgotten which space is currently active on macOS and wanted a quick way to tell? Didn't think so... but I did!
- Multiple Spaces - Show current Space only, or all Spaces at once
- Multiple Displays - Show Spaces across multiple monitors
- Click-to-Switch - Jump to any Space directly from the menu bar
- Scroll-to-Switch - Cycle through Spaces by scrolling over the menu bar icon
- Colors - Set foreground and background colors per Space
- Icons - Choose from multiple icon styles (square, circle, triangle, and more)
- Labels - Replace Space numbers with custom text labels
- Symbols - Use native macOS symbols instead of numbers
- Emojis - Use emojis to get even more creative
- Badges - Add a small character of your choice next to the Space number
- Size - Scale icons to your preference
- Sound - Play a sound when switching Spaces
- Shortcuts - Native actions for the Shortcuts app
- AppleScript - Automate with scripting support
- URL Scheme - Trigger Space switches from any launcher via
whichspace://links - Launch at Login - Start automatically with macOS
- Auto-Updates - Stay up-to-date with automatic updates
- Languages - Translated into multiple languages
brew install --cask whichspace
- Download
WhichSpace.zip - Extract
WhichSpace.zipand runWhichSpace.app - Future updates will be handled automatically
Note
Inactive Spaces are dimmed by default.
Empty Spaces can be hidden entirely.
Note
A vertical separator is shown between Displays.
Full-screen apps are shown as their app icon (or F) and can be hidden entirely.
Note
Use # as the badge character to insert the current Space number.
Note
Use {number} in a label to insert the current Space number, e.g. {number} - Work β 3 - Work.
Choose from built-in macOS system sounds, or add your own custom sounds.
To add a custom sound:
- Create the
~/Library/Soundsdirectory (if it doesn't already exist) - Copy your sound file into the directory
- The sound will appear under the User section in the Sound menu
WhichSpace provides native actions in the Shortcuts app - open Shortcuts, create a shortcut, and search for "WhichSpace":
- Switch Space - switch to a Space by number, optionally applying a label and badge in one step
- Switch to Next Space / Previous Space - move one Space left or right
- Get Current Space Number / Label / Badge - read the current Space state into a shortcut
- Set Current Space Label / Badge - apply a custom label or badge
- Reset Current Space Label / Badge - revert the current Space to its default
- Reset All Space Labels / Badges - revert every Space at once
"Switch Space" and "Get Current Space Number" are also available directly from Spotlight and Siri.
# Switch to a specific Space on the current display
osascript -e 'tell application "WhichSpace" to switch to space number 3'
# Switch to a Space and apply a label in one step
osascript -e 'tell application "WhichSpace" to switch to space number 3 label "Work"'
# Switch to a Space and apply a badge in one step
osascript -e 'tell application "WhichSpace" to switch to space number 3 badge "A"'
# Switch to the next or previous Space on the current display
osascript -e 'tell application "WhichSpace" to switch to next space'
osascript -e 'tell application "WhichSpace" to switch to previous space'# Get the current Space number (1-based numeric index)
osascript -e 'tell application "WhichSpace" to get current space number'# Get the current Space label (as shown in the menu bar, e.g. "1", "2", "F" for fullscreen)
osascript -e 'tell application "WhichSpace" to get current space label'
# Set a custom label for the current Space
osascript -e 'tell application "WhichSpace" to set current space label to "Work"'
# Reset the current Space label to its default (e.g. the Space number)
osascript -e 'tell application "WhichSpace" to reset current space label'
# Reset the labels of all Spaces to their defaults
osascript -e 'tell application "WhichSpace" to reset all space labels'# Get the current Space badge character
osascript -e 'tell application "WhichSpace" to get current space badge'
# Set a single-character badge for the current Space ("#" shows the Space number)
osascript -e 'tell application "WhichSpace" to set current space badge to "A"'
# Reset the current Space badge to its default
osascript -e 'tell application "WhichSpace" to reset current space badge'
# Reset the badges of all Spaces to their defaults
osascript -e 'tell application "WhichSpace" to reset all space badges'# Switch to a specific Space on the current display
open "whichspace://switch/3"
# Switch to a Space and apply a label and badge in one step
open "whichspace://switch/3?label=Work&badge=A"
# Switch to the next or previous Space on the current display
open "whichspace://switch/next"
open "whichspace://switch/previous"








