Epoch Timestamp Converter
Paste a Unix timestamp. This tab names the unit by how big the number is, then shows UTC, a city you pick, ISO and Discord tags. Thirteen digits are milliseconds. That paste is 15 April 2022.
Paste a timestamp or a date. The rows update as you type.
Bulk column
Paste a log column. One timestamp per line. Convert names the unit on each row. Cap is 500 lines.
This link carries auto unit and UTC. It does not carry a number.
Thirteen digits printed 1970
I pasted 1650000000000 into JavaScript's Date in this sitting. It printed 15 April 2022, 05:20 UTC. Read those same digits as microseconds and you get 20 January 1970, 02:20 UTC. Seconds of 1650000000 is the 2022 instant again. The number did not change. The unit did.
This page counts digits and says the unit out loud. Ten or fewer is seconds. Thirteen is milliseconds. Sixteen is microseconds. Nineteen is nanoseconds. Eleven or twelve could be seconds into the far future or milliseconds near 1970, so it stops. Same for 14, 15, 17 and 18 digits. Guess in silence and you get a date nobody meant.
UTC and a city you pick
Unix time is UTC. The zone list is wall clock. Pick America/New_York and 1650000000000 prints 15 April 2022, 01:20, GMT-04:00. The list is whatever IANA names this browser already knows. Type an ISO instant with a Z and it is UTC. Type a clock without a Z and the picker is the zone.
Daylight saving still bites. On 8 March 2026, 02:30 never happens in America/New_York. The clocks jump from 02:00 to 03:00. This tab says that hour does not exist. On 1 November 2026, 01:30 happens twice. You get both instants, earlier and later, and you pick. I checked those two Sundays in this sitting against the zone data in the browser.
A column from a log
One box is fine for a JWT exp claim. The usual paste is a column. Bulk column takes one timestamp per line, names the unit on each row, and prints UTC plus the city. Download is a TSV with those names as headers: input, unit, utc, zoned, iso. Empty lines stay, so the rows still line up with the file you copied.
The cap is 500 lines. A bigger dump belongs in CSV Viewer and Editor, where you can hide columns and replace in place. This page will not pretend a million row paste is a good idea in a text box.
Discord tags are seconds
Discord wants a tag like <t:1650000000:F>. That is seconds, even if you pasted milliseconds. The panel prints every public style: F, f, D, d, T, t and R. Copy the one you need. Relative is R. Discord writes the "3 hours ago" bit when the message renders. The preview next to the tag is this tab's stand-in, so you can see Friday, April 15, 2022 5:20 AM before you send it.
Mixpanel and Google Analytics load with the rest of Softery.io. They see that someone opened the tool. They get the unit name, the zone name, a size bucket on a bulk paste, and whether a copy or a download happened. They do not get the number. If you came here because a privacy page promised zero third-party scripts, that is not this site, and I will not write that sentence.
Common questions
Does this page send the timestamp I pasted?
No. The math runs in JavaScript here. After the page has loaded you can unplug the cable and still go from 1650000000000 to a date. Mixpanel and Google Analytics load with Softery.io. They see that someone opened the tool, which unit moved, and whether a copy happened. They do not get the number.
Why did it say milliseconds?
It counted digits. Ten or fewer is seconds. Thirteen is milliseconds. Sixteen is microseconds. Nineteen is nanoseconds. 1650000000000 has 13 digits, so this tab treats it as milliseconds and prints 15 April 2022, 05:20 UTC. The same digits read as microseconds land on 20 January 1970. That is the usual miss. Eleven or twelve digits could be either, so the page waits for you to pick.
What is a Discord timestamp tag?
Discord renders <t:unix:F> and six other styles as a date in each reader's clock. The number inside is seconds, not milliseconds. This panel copies each tag. Relative is R. Discord fills that in when the message shows. The line next to the tag is a stand-in from this tab, so you can see the day before you paste.
Where do the settings live?
The unit and the time zone are stored in this browser under softery.epoch-timestamp-converter.settings. The paste is not stored. Copy link puts the number, the unit and the zone in the URL, because that is the job. A log column does not go in the URL. Clear the site data, or hit Clear settings, and the knobs go back to Auto and UTC.
Nearby tools
Sunrise, sunset and a year of daylight in a zone you pick belong on Sunrise and Sunset Times. A pasted table with more than a timestamp column belongs on CSV Viewer and Editor. Both stay in the tab.