About TimeTools
Simple for everyone. Powerful for developers.
TimeTools started because I was tired of solving the same problem over and over.
I’m a backend developer, and I work with Unix timestamps almost every day. Like most developers, I used existing timestamp converters whenever I needed to turn a raw value into a readable date.
The frustration started when I had to compare multiple timestamps. Imagine debugging an API response or a log file with several timestamp fields — I’d paste one value after another into an online converter, but after a few conversions I’d completely lose track of which converted date belonged to which field. Was it createdAt, expiresAt, or lastLogin? I’d end up going back to the original JSON and repeating the whole process.
The tools could convert timestamps. They couldn’t preserve the context.
So I built TimeTools for myself.
The first feature wasn’t another timestamp converter — it was the ability to compare multiple timestamps while giving each one a label. Instead of a list of anonymous values, I could immediately see what each timestamp represented.
Then I added the feature that quickly became my favorite: paste in raw JSON, and TimeTools automatically detects the Unix timestamps, converts them, and uses the JSON field names as labels. No copying values one by one. No manually naming them. No losing context. For example, instead of manually converting each value from:
{
"createdAt": 1751972400,
"lastLogin": 1751976000,
"expiresAt": 1752062400
}TimeTools detects the timestamps automatically and understands what each one represents. See this exact example on the Compare page →
Once the timestamps have labels, TimeTools can also visualize them on a timeline. Instead of just seeing converted dates, you can instantly understand the order of events, the time between each step, and the total duration from the first event to the last. I built this because, when debugging APIs or analyzing logs, understanding when something happened is only half the story — understanding how events relate to each other is usually what matters most.
I never planned to build a collection of time tools. I just wanted to solve one annoying problem I kept running into at work.
As more ideas came up, TimeTools gradually grew into a collection of utilities for working with timestamps, dates, durations, Discord timestamps, time zones, and more. Every new tool starts with the same question: would this actually save me time while I’m working?
If the answer is yes, I build it.
Hopefully, it’ll save you some time too.
How it works
Every tool on this site runs entirely in your browser. There is no conversion server, no account system, and no database on the other end. When you paste a timestamp, your device does all the work and the result appears instantly — because there is nothing to wait for. The output covers every stack — Go, Python, Java, .NET, PHP, JavaScript — so you’re never stuck copy-pasting from a language-specific converter.
We also try to be shareable by default. Most tools encode your input in the URL so you can bookmark a result or send it to a colleague with a single copy-paste of the address bar. Those parameters aren’t used for tracking or analytics — they just make the link work.
Privacy, in plain terms
- ✓No cookies — none, zero, not even a session cookie.
- ✓No data is sent to any server. Timestamps, dates, and JWTs you paste are never transmitted.
- ✓No account, no sign-up, no email required.
- ✓No advertising or behavioural tracking.
- ✓Your browser's localStorage is used only to remember your own preferences — hidden rows, pinned tools, theme — and only on your device.
Vercel (our hosting provider) may record standard web-server metadata — IP address, path, and timestamp — in edge logs as part of normal infrastructure operation. We do not access or analyse these logs for user tracking. Full privacy policy →
Linking to TimeTools
Most tools read their input from the page address, so you can build links that open with a result already loaded — handy for bug reports, runbooks, documentation, or sending a colleague exactly what you see. A machine-readable version of this reference lives at /llms.txt.
- Epoch Converter
- value
- Unix timestamp in seconds, milliseconds, microseconds, or nanoseconds (unit auto-detected), or a date string such as ISO 8601
https://timetools.dev/?value=1782558101 - Date → Epoch
- value
- a date or datetime string — ISO 8601, RFC 3339, SQL datetime, or a named-month date like “March 15, 2026”
https://timetools.dev/date-to-epoch?value=2026-07-02T14%3A00%3A00Z - Add Time to Timestamp
- value
- the base Unix timestamp to shift (any unit, auto-detected)
- shift
- signed amount to add, e.g. -90
- unit
- one of seconds, minutes, hours, days
https://timetools.dev/add-to-timestamp?value=1782558101&shift=-90&unit=minutes - Unix Countdown
- t
- target Unix timestamp in seconds
- label
- optional display label for the countdown
https://timetools.dev/unix-countdown?t=1830297600&label=Launch - Compare Timestamps
- t1, t2, …
- one timestamp per row (any supported format)
- l1, l2, …
- optional label for the matching row
- tz
- IANA timezone for the local-time column, e.g. Europe/Warsaw
- fmt
- force every row to one format instead of auto-detecting — unix-seconds, unix-ms, unix-us, unix-ns, dotnet-ticks, cocoa, filetime, webkit, ntp, excel
https://timetools.dev/compare?t1=1782558101&l1=Alert&t2=1782562100&l2=Resolved&tz=UTC - World Clock
- tz
- comma-separated IANA timezones, in display order
https://timetools.dev/world-clock?tz=UTC,America%2FNew_York,Asia%2FTokyo - Timezone Converter
- t
- the timestamp or date string to convert
- tz
- comma-separated IANA timezones to show
https://timetools.dev/timezone-converter?t=1782558101&tz=UTC,Europe%2FLondon - DST Transitions
- tz
- a single IANA timezone
https://timetools.dev/dst-transitions?tz=America%2FNew_York - Cron Expression Parser
- expr
- a URL-encoded cron expression (5 or 6 fields)
- tz
- IANA timezone for the next-run times
https://timetools.dev/cron?expr=0+9+*+*+1-5&tz=UTC - Date Difference
- start
- start date, YYYY-MM-DD
- end
- end date, YYYY-MM-DD
- includeEnd
- set to 1 to count the end date as a full day
https://timetools.dev/date-difference?start=2026-01-01&end=2026-07-07&includeEnd=1 - Business Days Counter
- start
- start date, YYYY-MM-DD
- end
- end date, YYYY-MM-DD
- includeEnd
- set to 1 to count the end date as a full day
https://timetools.dev/business-days?start=2026-01-01&end=2026-07-07&includeEnd=1 - Add / Subtract Time
- value
- the base date, YYYY-MM-DD
- shift
- signed amount to add, e.g. -30
- unit
- one of days, weeks, months, years
https://timetools.dev/add-time?value=2026-07-07&shift=30&unit=days - ISO 8601 Duration Parser
- value
- an ISO 8601 duration string, e.g. P1DT2H30M
https://timetools.dev/iso8601-duration?value=P1DT2H30M - Seconds to Human
- value
- a number of seconds
https://timetools.dev/seconds-to-human?value=86400 - Discord Timestamp
- t
- the target Unix timestamp in seconds
- tz
- IANA timezone the entered wall-clock time belongs to, e.g. America/New_York
https://timetools.dev/discord-timestamp?t=1782558101&tz=America%2FNew_York - MongoDB ObjectID Converter
- value
- a 24-hex-char MongoDB ObjectID, bare or ObjectId("...")-wrapped
https://timetools.dev/mongodb-objectid?value=507f1f77bcf86cd799439011 - UUID v7 to Timestamp
- value
- a UUID (v7, v6, or v1), bare or dashed, optionally urn:uuid:-prefixed or brace-wrapped
https://timetools.dev/uuid-v7?value=018c7e69-6f4e-7abc-9def-0123456789ab - ULID to Timestamp
- value
- a 26-character ULID (case-insensitive, tolerant of Crockford's I/L/O aliases)
https://timetools.dev/ulid?value=01ARZ3NDEKTSV4RRFFQ69G5FAV - Snowflake ID Decoder
- value
- a snowflake ID (Discord, Twitter/X, Mastodon, or Sonyflake — platform auto-detected), a Discord message link, or a tweet URL
https://timetools.dev/snowflake?value=175928847299117063 - .NET Ticks Converter
- value
- a .NET DateTime.Ticks value
https://timetools.dev/dotnet-ticks?value=638712345678901234 - FILETIME Converter
- value
- a Windows FILETIME value
https://timetools.dev/windows-filetime?value=133795932000000000 - Chrome / WebKit Timestamp
- value
- a Chrome/WebKit timestamp (microseconds since 1601-01-01)
https://timetools.dev/webkit-timestamp?value=13350000000000000 - Excel Date Converter
- value
- an Excel date serial number
https://timetools.dev/excel-date?value=46204.5 - Cocoa Timestamp Converter
- value
- an Apple Cocoa / Core Foundation timestamp (seconds since 2001-01-01)
https://timetools.dev/cocoa-timestamp?value=804700800 - NTP Timestamp Converter
- value
- an NTP timestamp (seconds since 1900-01-01)
https://timetools.dev/ntp-timestamp?value=3990211200
Free, and staying that way
TimeTools is free to use with no rate limits, paywalls, or ads. If that ever changes, we will say so clearly rather than hiding it behind a terms update.
TimeTools is an independent project, built and maintained by a single software engineer. The goal is the best possible experience for working with time-related data — while staying approachable for anyone. Have an idea or hit a bug? Send feedback →