Epoch Batch Converter
Paste a list of Unix timestamps or date strings — one per line — and convert them all at once. Supports seconds, milliseconds and human-readable dates.
What is an Epoch Batch Converter?
An epoch batch converter processes multiple Unix timestamps or date strings at once, converting them all to a consistent set of human-readable formats in a single operation. In DevOps and SRE work, timestamps appear constantly — in log files, database records, monitoring events, alert payloads, API responses, and audit trails — and they often arrive in different formats from different systems. Having to convert them one at a time using command-line tools or online converters is tedious and slow when you need to compare a series of events.
The Unix epoch is the number of seconds (or milliseconds) that have elapsed since January 1, 1970 00:00:00 UTC. It is the universal timestamp format across operating systems and programming languages because it is timezone-independent and trivially comparable — you can determine which event happened first simply by comparing two integers. The challenge is that humans cannot read a number like 1704067200 at a glance; this tool does the translation for you at bulk scale.
When to Use This Tool
- Log file analysis: Extract a list of timestamps from a log file during an incident, paste them all in, and instantly see the human-readable times to build a timeline of events.
- Cross-system comparison: When comparing events from systems that use different timestamp formats (some in seconds, some in milliseconds, some as ISO strings), convert them all to a unified format for accurate ordering.
- Database auditing: Copy a column of epoch timestamps from a database query result and convert them all at once to verify that records were created or modified at the expected times.
- Alert deduplication: Compare alert timestamps across monitoring tools to determine whether multiple alerts fired for the same root cause within a short window.
How It Works
The converter processes each line of input independently using JavaScript's Date object. It first checks whether the input is a pure numeric string: 10-digit numbers are interpreted as Unix seconds and multiplied by 1000 before creating a Date, while 13-digit numbers are interpreted as Unix milliseconds directly. For all other inputs it delegates to Date.parse(), which handles ISO 8601 strings, RFC 2822 strings, and a wide variety of human-readable date formats supported by the browser's JavaScript engine. Each successfully parsed value is then formatted as a Unix timestamp in seconds, Unix timestamp in milliseconds, a UTC date string, an ISO 8601 string, and a relative time string ("3d ago", "2y from now").
Frequently Asked Questions
What timestamp formats does batch conversion support?
The tool auto-detects Unix timestamps in seconds (10 digits), Unix timestamps in milliseconds (13 digits), ISO 8601 date strings (such as 2024-01-15T10:30:00Z), and any human-readable date format that the browser's JavaScript engine can parse, including plain dates like "2024-01-15" and datetime strings like "2025-06-18 09:30:00". You can mix different formats freely in the same input — each line is parsed independently, and any line that cannot be interpreted is shown as "Invalid" in the output table.
Can I convert human-readable dates to Unix timestamps in bulk?
Yes. Paste any mix of human-readable dates, ISO 8601 strings, or existing Unix timestamps — one per line — and the tool converts all of them simultaneously. Each row in the output table shows the original input, the Unix epoch in seconds, the epoch in milliseconds, the full UTC date string, the ISO 8601 representation, and a relative time (such as "6 months ago"). The results can be exported as a CSV by clicking the Copy CSV button.
Why do some Unix timestamps have 10 digits and others 13 digits?
A 10-digit Unix timestamp represents seconds elapsed since the Unix epoch (January 1, 1970 00:00:00 UTC). A 13-digit timestamp represents the same point in time but in milliseconds — it is the second-precision value multiplied by 1000. Many modern programming languages and platforms default to millisecond precision: JavaScript's Date.now(), Java's System.currentTimeMillis(), and most database ORMs return 13-digit values. Older Unix system calls and shell tools like date +%s return 10-digit second-precision values. The batch converter detects which format is in use based on digit count, so both can appear in the same input without configuration.