Reading timestamps from logs and databases
Correlating events across systems means converting each to a common zone. An epoch value in a log line is unreadable until converted.
Converts Unix timestamps to human-readable dates and back.
—Converts Unix timestamps to human-readable dates and back.
1754985600
2026-08-12 00:00:00 UTC (and your local time)
Seconds and milliseconds are both supported.
The timestamp represents an instant in time, shown in UTC and local.
Your input is processed entirely in your browser and never sent to a YAS server.
curl -X POST "https://yas.sh/api/v1/tools/unix-timestamp" \
-H "Content-Type: application/json" \
-d '{"input":"1754500000"}'const res = await fetch("https://yas.sh/api/v1/tools/unix-timestamp", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
"input": "1754500000"
}),
});
const data = await res.json();import requests
r = requests.post("https://yas.sh/api/v1/tools/unix-timestamp", json={"input":"1754500000"})
data = r.json()| Field | Type | Required | Description |
|---|---|---|---|
| input | string | Yes | e.g. 1754500000, 1754500000000, or an ISO date (blank = now) |
{ "slug": "unix-timestamp", "result": { "unix": 1754500000, "iso": "2025-08-06T18:26:40.000Z", "utc": "..." } }Convert a unix timestamp (s/ms) ↔ ISO/UTC date.
400 VALIDATION_ERROR — invalid input or unsupported option.413 PAYLOAD_TOO_LARGE — input exceeds the 64 KB limit.429 RATE_LIMIT_EXCEEDED — rate limit exceeded (60 req/min).A Unix timestamp counts seconds since 1970-01-01T00:00:00Z, excluding leap seconds — the count is defined against UTC in a way that repeats a second rather than incrementing through it, which is why the value maps cleanly to a civil date but is not a true count of elapsed physical seconds. Conversion applies the Gregorian calendar rules to that offset, then optionally shifts into a local time zone.
The two recurring bugs are units and zones. JavaScript's Date.now() returns milliseconds while most backends, databases and APIs use seconds, so a value passed unconverted is either 1,000 times too large or lands in 1970. And a timestamp has no time zone at all: it identifies an instant, and the date a user sees depends entirely on which zone it is rendered in — which is why a value can legitimately show two different calendar dates to two users.
Correlating events across systems means converting each to a common zone. An epoch value in a log line is unreadable until converted.
JWT exp and iat are epoch seconds. Converting them shows whether a token is genuinely expired or whether the verifier compared against milliseconds.
Storing instants as epoch integers makes comparison and arithmetic trivial and avoids every ambiguity of parsing date strings.
Converting a timestamp into a zone that observes DST shows how the same instant renders on either side of a transition.
What this tool deliberately does not do, and where it will disagree with other implementations.