UTC to EST Converter
Interpreted in the "From" timezone
A UTC timestamp is the most common thing a developer needs converted to US Eastern time: a log line, a cron job’s scheduled run, an API response’s createdAt field, a webhook payload — all commonly recorded in UTC specifically so they mean the same instant regardless of where the server or the reader is. The moment a human needs to reason about when that actually was on the US East Coast, a conversion to Eastern time is the next step.
The detail this page’s own title glosses over, on purpose, is that “EST” isn’t what actually applies most of the year. Eastern Standard Time (UTC-5) is real, but it only governs the US East Coast from early November to mid-March; the rest of the year, the region observes Eastern Daylight Time (UTC-4) instead. Searching “UTC to EST” is how people describe this conversion regardless of season, but the correct underlying timezone to convert against is the IANA identifier America/New_York — a zone that carries both EST and EDT (and the exact dates each applies) — not a fixed UTC-5 offset applied blindly year-round. Get this wrong and every conversion made between mid-March and early November is off by an hour.
Concretely: 15:00 UTC on July 30, 2026 converts to 11:00 AM in New York — and that result is EDT (UTC-4), not EST, because the date falls inside the daylight saving window. Converting the same 15:00 UTC on, say, January 30 instead would land on 10:00 AM EST (UTC-5) — the hour shifts even though the UTC input format is identical, purely because of which side of the DST boundary the date falls on. A tool (or a hand-rolled script) that hardcodes “subtract 5 hours” gets half the year wrong without any obvious symptom, since nothing about a bare UTC timestamp signals which offset should apply.
Converting UTC to Eastern time programmatically
JavaScript, formatting an existing UTC instant directly — no offset math needed, since the browser’s Intl API already carries the full DST calendar for every IANA zone:
const utcInstant = new Date("2026-07-30T15:00:00Z");
const easternTime = new Intl.DateTimeFormat("en-US", {
timeZone: "America/New_York",
dateStyle: "medium",
timeStyle: "long",
}).format(utcInstant);
console.log(easternTime);
// "Jul 30, 2026, 11:00:00 AM EDT" — note EDT, not EST, since it's July
Python, via the standard library’s zoneinfo (no third-party package needed since Python 3.9):
from datetime import datetime, timezone
from zoneinfo import ZoneInfo
utc_instant = datetime(2026, 7, 30, 15, 0, tzinfo=timezone.utc)
eastern_time = utc_instant.astimezone(ZoneInfo("America/New_York"))
print(eastern_time)
# 2026-07-30 11:00:00-04:00Frequently asked questions
The page is called 'UTC to EST' but the result says EDT — is that a mistake?
Why do servers and APIs use UTC instead of local time?
Does this conversion handle the daylight saving switch automatically?
Intl.DateTimeFormat, which carries the full IANA timezone database), rather than hardcoding -5 or -4 anywhere — so a timestamp from January and a timestamp from July are each resolved against the offset that actually applied on that date.What is New York's UTC offset right now?
Is the timestamp I enter sent to a server?
Related Timezone Converter pages
Looking for a different pair or algorithm? Here are the other specific versions, plus the general tool for everything else: