This Unix timestamp converter turns a raw epoch number into a readable date and time, and turns a date and time back into a Unix timestamp, in both seconds and milliseconds. Paste 1700000000 and instantly see November 14, 2023 at 22:13:20 UTC, or pick a calendar date and get the exact timestamp your code or database expects.
We built this free tool at Arb Digital because Unix timestamps show up everywhere behind the scenes of the modern web β in server logs, API responses, JWT tokens, and database columns β but they're meaningless to read at a glance. This converter closes that gap instantly, with live-ticking current time and a one-click copy button so you don't have to retype anything.
What This Unix Timestamp Converter Does
The tool works in both directions at once. Paste any timestamp into the top field and it automatically detects whether you gave it seconds (10 digits, roughly, for dates in the current era) or milliseconds (13 digits) based on the magnitude of the number, then shows you the equivalent date and time in both UTC and your browser's local timezone. Enter a date and time in the second section instead, choose whether that time should be interpreted as UTC or your local timezone, and the tool converts it into the matching Unix timestamp in both seconds and milliseconds.
Above both converters, a live-ticking clock shows the current Unix timestamp updating in real time, with a copy button so you can grab "right now" as a timestamp for testing an API call, seeding a database record, or debugging a session-expiry bug without leaving the page.
How to Use It
- To convert a timestamp to a date: paste the number into the "Unix timestamp" field and click "Convert to Date." The tool auto-detects seconds vs. milliseconds β you don't need to specify which.
- To convert a date to a timestamp: pick a date and time in the fields below, choose whether that time is UTC or your local timezone, and click "Convert to Timestamp."
- Grab the current timestamp from the live-ticking display at any time and click "Copy" to place it on your clipboard.
- Check both UTC and local time in the result panel β this matters when you're coordinating across timezones or debugging a "why is this date off by a few hours" bug.
What a Unix Timestamp Actually Is
A Unix timestamp (also called Unix time, POSIX time, or epoch time) is simply a count of seconds that have elapsed since a fixed reference point: midnight, January 1, 1970, Coordinated Universal Time (UTC), commonly called "the epoch." Timestamp 0 is exactly that moment. Every second that passes increments the count by one, so timestamp 1700000000 represents exactly 1,700,000,000 seconds after that starting point, which works out to November 14, 2023 at 22:13:20 UTC. Because the count is always relative to UTC, Unix time is timezone-agnostic by design β the raw number never changes no matter where in the world you are; only its human-readable rendering shifts depending on which timezone you choose to view it in. For the formal technical definition, see ISO's overview of standardized date and time formats, which Unix time complements as the machine-native representation underneath.
Milliseconds-based timestamps, which you'll see constantly in JavaScript (Date.now() returns milliseconds, not seconds), work identically but count thousandths of a second instead of whole seconds, which is why a millisecond timestamp for the same moment has three extra trailing digits compared to its seconds equivalent β 1700000000 seconds versus 1700000000000 milliseconds.
Why Computers Use Unix Time Instead of Calendar Dates
Storing a date as "seconds since a fixed point" rather than as a calendar string like "November 14, 2023" turns date math into simple arithmetic. Comparing two dates, calculating a duration between them, or sorting a list of events chronologically all become basic number operations instead of complicated calendar-aware logic that has to account for leap years, varying month lengths, and daylight saving time. It's also compact, unambiguous across languages and locales, and completely decoupled from timezone until the moment you choose to display it β which is exactly why databases, log files, APIs, and programming languages standardized on it decades ago and never looked back.
The Year 2038 Problem
Many older systems store Unix timestamps as a 32-bit signed integer, which can only hold values up to 2,147,483,647. That number of seconds after the epoch lands on January 19, 2038, at 03:14:07 UTC β the exact moment a 32-bit signed timestamp will overflow and wrap around to a negative number, which most systems will misinterpret as a date back in December 1901. This is commonly called the "Year 2038 problem," and it's a direct echo of the Y2K bug from the late 1990s, just rooted in binary integer limits instead of two-digit year fields. Modern 64-bit systems avoid the problem entirely because a 64-bit signed integer can represent seconds for hundreds of billions of years in either direction, but plenty of embedded systems, older databases, and legacy software still rely on 32-bit timestamps and will need updates before 2038 arrives.
Seconds vs. Milliseconds β Why the Confusion Happens
Different languages and platforms picked different units by convention, and mixing them up is one of the most common bugs in web development. Unix's original C-based tradition and most backend languages (Python, PHP, Ruby, most database engines) use whole seconds. JavaScript's Date object and browser APIs use milliseconds instead, because JavaScript's timing needs (animation frames, timeouts) require sub-second precision. If you accidentally feed a seconds-based timestamp into a function expecting milliseconds, you'll get a date near the epoch (1970) instead of the date you intended, because the number is a thousand times smaller than it should be β this converter's auto-detection by digit count exists specifically to catch that mismatch for you.
- 10-digit numbers (roughly 1,000,000,000 to 9,999,999,999) are almost always seconds, covering dates from September 2001 to November 2286.
- 13-digit numbers are almost always milliseconds for the same modern date range.
- Negative timestamps represent dates before January 1, 1970 and are valid, though less commonly encountered.
Where You'll Run Into Unix Timestamps
Once you start looking, Unix timestamps show up in far more places than most people expect. Web server access logs typically stamp every request with an epoch value so administrators can sort and filter traffic precisely. JSON Web Tokens (JWTs) used for authentication encode an "exp" (expiration) claim as a Unix timestamp in seconds, so a session or API key expiring "in one hour" is really just a stored timestamp representing "now plus 3,600 seconds." Relational databases like PostgreSQL and MySQL frequently store "created_at" and "updated_at" columns internally as epoch-based values even when they display them to you as formatted dates. Version control systems, including Git, timestamp every commit with Unix time, which is why "git log" can sort commits chronologically instantly regardless of the contributor's timezone. Even cryptocurrency blockchains stamp every block with a Unix timestamp as part of their consensus rules. Understanding how to read and convert these values by hand β or with a fast tool like this one β turns what would otherwise be an opaque ten- or thirteen-digit number into an actual, checkable date.
Photographers and videographers also encounter Unix time indirectly: many camera and phone file systems embed an epoch-based capture timestamp in image and video metadata (EXIF data), which photo-management software reads to sort a library chronologically even if the files were later renamed or moved. If you've ever wondered how photo apps manage to sort thousands of images perfectly by the moment they were taken regardless of file name, this is the underlying mechanism.
Common Mistakes to Avoid
- Confusing seconds and milliseconds β always check the digit count; a timestamp that looks "off by a factor of 1000" almost always has this cause.
- Forgetting timezone context when converting a date to a timestamp β the same clock time (say, 3:00 PM) produces a completely different timestamp depending on whether it's meant as UTC or your local timezone.
- Assuming a 32-bit system can hold any future date β anything relying on 32-bit signed integers will break at January 19, 2038; check whether your platform uses 64-bit time storage.
- Ignoring daylight saving time shifts β a local time can map to two different UTC timestamps around a DST transition, or (during the "fall back" hour) be ambiguous entirely.
- Hardcoding a timestamp as a magic number in code β always add a comment noting what date it represents; a raw ten-digit number is unreadable to future maintainers (including future you).
Arb Digital builds fast, high-converting websites and content that rank β explore our full library of free calculators and utilities below.
All Free Tools Contact UsRelated Free Tools From Arb Digital
Pair this with our Date Format Converter to reformat any date into ISO 8601, RFC 2822, or a custom pattern, or the Time Converter for timezone math. You might also find the Number Base Converter and Roman Numeral Converter useful, and check out ASCII Table for character-code lookups. Browse the full free online tools hub for dozens more.
Frequently Asked Questions
A Unix timestamp is the number of seconds that have elapsed since midnight, January 1, 1970, Coordinated Universal Time. It's a timezone-agnostic way for computers to represent a specific moment in time as a single number.
Count the digits. For dates in the current era, a 10-digit number is almost always seconds, while a 13-digit number is almost always milliseconds. This converter detects the difference automatically based on the number's magnitude.
It's a limitation where systems storing Unix time as a 32-bit signed integer will overflow on January 19, 2038 at 03:14:07 UTC, wrapping around to a negative number that's typically misread as a date in 1901. Modern 64-bit systems aren't affected.
Timestamp 0 represents the Unix epoch itself: midnight (00:00:00) on January 1, 1970, Coordinated Universal Time. Negative timestamps represent moments before that date.
JavaScript's timing functions need sub-second precision for things like animations and timeouts, so its Date object and Date.now() function both work in milliseconds rather than the whole seconds used by most backend languages and databases.
Yes. Unix time can be negative, and a negative timestamp represents a specific moment before January 1, 1970 UTC, counting backward in the same one-second increments.
This tool runs entirely in your browser β no data is sent to any server, and no external libraries are used.