EpochBar
v1.0.0  ·  macOS 13+  ·  source ↗
A tiny macOS menu-bar utility

Every timestamp, readable at a glance.

EpochBar watches your clipboard and decodes any timestamp-bearing identifier it finds — Unix epochs, MongoDB ObjectIds, ULIDs, UUIDv1 / v6 / v7, and Twitter-style snowflakes — into a UTC ISO 8601 date, right in your menu bar. Or select one anywhere — logs, databases, API responses — and a small tooltip pops up next to the cursor with the ISO date. Click to copy. That's the whole app.

Download for macOS ~ 48 KB  ·  Apple Silicon
Your menu bar, when something epoch-shaped is on the clipboard
clipboard → 1735689600
… or select one anywhere, and a tooltip pops up next to the cursor
2026-04-23 13:42:01 [info] req_id=507f1f77bcf86cd799439011⏱ 2012-10-17T21:13:27Z user /me 200 14ms
What it decodes

Seven identifier shapes. One answer — the timestamp inside.

Each of the formats below carries a timestamp you rarely get to read directly. EpochBar finds the right bits, converts them, and shows the result. Here's what lives where.

Unix epoch
Decimal · 10 / 13 / 16 digits
entire value · seconds, ms, µs, or fractional
1735689600
2025-01-01T00:00:00Z
Ten digits are seconds; thirteen, milliseconds; sixteen, microseconds. Trailing .xxx on a ten-digit value is read as fractional seconds. Only values that land between 2001 and 2099 are accepted — random counters need not apply.
MongoDB
ObjectId
24 hex chars
timestamp · 4B
random · 5B
counter · 3B
507f1f77bcf86cd799439011
2012-10-17T21:13:27Z
The first 4 bytes are big-endian Unix seconds. The trailing 8 bytes are a per-process random value and a counter — not needed to read the date.
ULID
26 Crockford base32 chars
timestamp · 48 bits
randomness · 80 bits
01ARZ3NDEKTSV4RRFFQ69G5FAV
2016-07-30T23:54:10.259Z
The first ten characters decode to a 48-bit millisecond timestamp; the remaining sixteen are random. The Crockford alphabet skips I L O U so the input is unambiguous.
UUID v1
Hyphenated · version nibble 1
time_low
time_mid
v
time_hi
clock seq + node · 80 bits
e4eaaaf2-d142-11e1-b3e4-080027620cdd
2012-07-19T01:41:43.645Z
60 bits of 100-nanosecond intervals since the Gregorian reform on 15 October 1582. Reassembled from three non-contiguous slices, then shifted to the Unix epoch.
UUID v6
Hyphenated · version nibble 6
time_high
time_mid
v
time_low
clock seq + node · 80 bits
1e1d142e-4eaa-6af2-b3e4-080027620cdd
2012-07-19T01:41:43.645Z
Same clock as v1, same epoch — but the segments are re-ordered so that two v6 UUIDs generated seconds apart compare correctly as strings. Good for database keys.
UUID v7
Hyphenated · version nibble 7
unix_ts_ms · 48 bits
v
rand_a + rand_b · 74 bits
018d4fa3-4f8e-7890-abcd-ef0123456789
2024-01-28T10:35:19.310Z
The modern one: first 48 bits are straight Unix milliseconds. Sortable out of the box, human-readable out of the front.
Twitter
snowflake
Decimal · 17-19 digits
0
ms since epoch · 41 bits
machine · 10
seq · 12
1800000000000000000
2024-06-10T03:00:17.039Z
Shift right by 22, add Twitter's epoch of 2010-11-04T01:42:54.657Z, and you get Unix ms. Discord, Instagram and others use the same shape with different epochs — shout if you need one of those.
Install

Four steps. Forty-eight kilobytes.

Ad-hoc signed, not notarised — so the first launch needs you to tell macOS you trust it. After that it remembers and lives in your menu bar forever.

I.
Download and open the disk image
open ~/Downloads/EpochBar.dmg
Drag EpochBar into the Applications folder when the volume mounts.
II.
Bypass Gatekeeper once
xattr -dr com.apple.quarantine /Applications/EpochBar.app
EpochBar is ad-hoc signed, not notarised — so macOS refuses to open it until you remove the quarantine flag. The command above is the one-liner; if you prefer the GUI path, double-click the app (macOS will refuse), then open System Settings → Privacy & Security, scroll to the blocked-app message, and click Open Anyway. Do this once; macOS remembers after that.
III.
Grant Accessibility access (for the selection tooltip)
System Settings → Privacy & Security → Accessibility → ✓ EpochBar
EpochBar will prompt for this on first launch. It's needed so the app can read the text you've selected in another app (iTerm, Safari, TextEdit, etc.) and pop up the decoded ISO date. If you only want the menu-bar clipboard functionality, you can skip this step and toggle the selection tooltip off under Settings… in the right-click menu.
IV.
Optional: launch at login
right-click the menu-bar clock → Launch at login
EpochBar registers itself via SMAppService. System Settings → General → Login Items reflects the same toggle.