Ready to calculate
Select a date range and click Calculate// find start and end unix timestamps for any date range
Find the exact start and end Unix timestamps for any day, month, or year. Free browser-based epoch range tool — no sign-up required.
Ready to calculate
Select a date range and click CalculateSelect Day, Month, Year, or Custom range from the tabs.
Enter the date, month+year, year, or custom start/end dates.
Choose your UTC offset and click Calculate Range to get all timestamps.
The Epoch Range Calculator finds the exact Unix timestamps marking the very start (00:00:00) and end (23:59:59) of any day, month, or year. Useful whenever your code or query needs a precise epoch range rather than a human-readable date string.
The start of a day is 00:00:00 (midnight) in the selected timezone. The epoch value represents that exact moment — the smallest timestamp still within that calendar day.
The end of day is 23:59:59 in the selected timezone — the last second of the day. Some systems prefer 00:00:00 of the next day (exclusive upper bound); use the next day's start timestamp for that pattern.
This tool uses fixed UTC offsets (e.g. UTC-5). It does not automatically apply DST transitions. For DST-aware calculations, use a library like Moment.js or Luxon in your application code.
JavaScript's Date.now() and many modern APIs (Elasticsearch, MongoDB, BigQuery) use millisecond-precision Unix time. The millisecond start is seconds × 1000 and end is (seconds + 1) × 1000 - 1.
The Unix epoch starts at January 1, 1970 UTC. Dates before 1970 produce negative timestamps, which are valid in most modern systems. The tool supports year inputs from 1970 onwards to keep values positive and universally compatible.
Yes. A common SQL pattern is: WHERE created_at BETWEEN 1704067200 AND 1706745599. Copy the start and end seconds directly from this tool into your query.
An epoch range calculator converts a human-readable date period — a single day, an entire month, or a full calendar year — into the pair of Unix timestamps that bound that period. Given a date like April 18, 2025, you get two numbers: the epoch at the very start of that day (00:00:00 local time) and the epoch at the very end (23:59:59 local time). Every second that falls within April 18th sits between those two values.
This is exactly what backend engineers, data analysts, and DevOps teams need when writing time-bounded queries, configuring monitoring alerts, or slicing log archives by calendar period.
💡 Looking for premium web development assets? MonsterONE offers unlimited downloads of templates, UI kits, and developer tools — worth checking out.
Unix timestamps (also called epoch seconds) are timezone-agnostic integers representing the number of seconds elapsed since January 1, 1970 00:00:00 UTC. Compared to date strings like "2025-04-18", they offer several advantages:
04/05/2025 means April 5 or May 4 when you write 1743811200.Here are the most frequent scenarios where a precise start/end epoch pair is needed:
SELECT COUNT(*) FROM events WHERE ts BETWEEN 1704067200 AND 1706745599 — fetches all events in January 2024.?from=1704067200&to=1706745599 for time-range filtering on search, metrics, or activity endpoints.This tool offers four modes to cover the most common date-range patterns:
Day mode targets a single 24-hour period. You pick a calendar date and get the epoch at 00:00:00 and 23:59:59 for that day in your chosen timezone. The total duration is always 86,400 seconds (except during DST transitions in DST-observing zones, which use fixed offsets here).
Month mode covers an entire calendar month. January has 31 days (2,678,400 seconds), February varies by leap year (2,419,200 or 2,505,600 seconds), and other months are 30 or 31 days. The tool automatically calculates the correct last day of any month including February in leap years.
Year mode spans from January 1 00:00:00 to December 31 23:59:59. A standard year is 31,536,000 seconds; a leap year is 31,622,400 seconds. The tool detects leap years automatically.
Custom range mode lets you define an arbitrary start and end date — useful for fiscal quarters, sprint periods, A/B test windows, or any non-standard calendar period.
Different systems use different epoch precisions. Knowing which to use saves debugging time:
time(), Python's datetime.timestamp(), most Unix shell tools, MySQL's UNIX_TIMESTAMP(), and traditional POSIX systems.Date.now() and new Date().getTime(), Java's System.currentTimeMillis(), MongoDB's ISODate, Elasticsearch, and most modern JavaScript frameworks.A quick rule: if your epoch value has 10 digits it's seconds; 13 digits means milliseconds. To convert, multiply by 1000 (seconds → ms) or divide by 1000 (ms → seconds).
The start of "today" depends entirely on where you are. UTC+9 (Tokyo) reaches midnight nine hours before UTC+0 (London). When you query events for "Tuesday" in your application, you need Tuesday's boundaries in your users' local timezone — not UTC — otherwise your "day" query will include hours from the wrong calendar day.
This tool lets you choose from 24 UTC offsets covering every major timezone. Simply pick the offset that matches your application's primary audience or the database's stored timezone convention. For globally distributed data, it is common to store all timestamps in UTC and then apply the offset at query time.
Alongside the raw epoch integers, the tool outputs the start and end as ISO 8601 strings (e.g. 2025-04-01T00:00:00+00:00). This format is human-readable, unambiguous, and accepted natively by SQL databases, HTTP headers, JSON payloads, and most programming language date parsers. Copy the ISO strings when you need a human-auditable record alongside the numeric timestamps.
If you need complementary date and time utilities, check out the Timestamp Converter to convert a single epoch to a readable date, the Date Difference Calculator to measure the gap between two arbitrary dates, or the Timezone Converter to translate a specific moment across multiple zones simultaneously.