How to switch to 24-hour clock on Mac
By default, macOS shows the clock in 12-hour format with AM and PM. Switching to 24-hour time takes less than 30 seconds — and you can do it without touching Terminal at all. Here's both ways, plus how to reverse it.
Method 1: System Settings (simplest)
The cleanest way to switch is through Language & Region, which controls the time format system-wide — not just the menu bar clock, but everywhere macOS displays a time.
- Open System Settings (Apple menu → System Settings).
- Go to General → Language & Region.
- Find 24-Hour Time and toggle it on.
- The menu bar clock updates immediately — no restart needed.
To switch back to 12-hour format, return to the same toggle and turn it off.
Method 2: Terminal (precise control)
If you want to control the exact format string the clock uses — for example, to add the date, remove the day name, or customise spacing — use Terminal:
# switch to 24-hour: shows day, date, month, and HH:MM
defaults write com.apple.menuextra.clock DateFormat -string "EEE d MMM H:mm"
killall SystemUIServer
To switch back to 12-hour:
# restore 12-hour format with AM/PM
defaults write com.apple.menuextra.clock DateFormat -string "EEE d MMM h:mm a"
killall SystemUIServer
The killall SystemUIServer command restarts the menu bar so the change takes effect without a logout.
Understanding the format string
The DateFormat string uses Unicode date format tokens. The key difference between 12 and 24 hour is a single letter:
H— 24-hour hours (0–23), no leading zero for single digitsHH— 24-hour hours with leading zero (00–23)h— 12-hour hours (1–12), no leading zeroa— AM/PM indicator
Other tokens in the default format: EEE = short day name (Mon, Tue…), d = day of month, MMM = short month name (Jan, Feb…), mm = minutes.
Some useful variations:
# 24-hour with seconds: Mon 1 Jul 14:32:07
defaults write com.apple.menuextra.clock DateFormat -string "EEE d MMM H:mm:ss"
killall SystemUIServer
# time only, no date: 14:32
defaults write com.apple.menuextra.clock DateFormat -string "H:mm"
killall SystemUIServer
Two settings that interact
There are actually two separate controls for this on macOS 13 and later:
- Language & Region → 24-Hour Time — system-wide default; affects all apps.
- Control Center → Clock Options — can override the menu bar display specifically.
If you set 24-hour time via Language & Region and the menu bar still shows AM/PM, open System Settings → Control Center → Clock Options and check whether a separate format is set there. Clear it or toggle it to match.
Mainspring turns this exact setting — and 90+ others macOS buries in Terminal — into a single labelled toggle. Flip 24-hour clock on, and flip it back just as fast. No commands to memorize, nothing permanent.
Try Mainspring free →Signed & notarized by Apple · 1-day free trial · $29 once
Also useful: show seconds in the clock
While you're adjusting the clock, you might also want to show seconds. That's a separate toggle — see the guide on showing seconds in the Mac menu-bar clock.