Developers
Free time zone API
Convert times between any two zones over HTTP. No API key, no signup, CORS-enabled, and daylight-saving accurate via the IANA time zone database.
Quick start
One GET request. Pass a zone slug (est) or a full IANA id (America/New_York).
curl "https://www.timezonehero.com/api/convert?from=est&to=pst&time=15:00"
Endpoints
GET /api/convert
Convert a time from one zone to another. Defaults to the current time if none is given.
| Param | Required | Description |
|---|---|---|
from | yes | Source zone — slug (est) or IANA id (America/New_York). |
to | yes | Target zone — slug or IANA id. |
time | no | 24-hour HH:mm in the source zone. Defaults to now. |
date | no | YYYY-MM-DD in the source zone. Defaults to today (matters across DST changes). |
GET /api/zones
List every supported zone slug with its IANA id, city, abbreviation, and region.
Example response
{
"from": { "zone": "est", "iana": "America/New_York", "city": "New York", "abbr": "EDT" },
"to": { "zone": "pst", "iana": "America/Los_Angeles", "city": "Los Angeles", "abbr": "PDT" },
"input": { "time": "15:00", "date": "2026-07-07" },
"result": {
"time": "12:00 PM",
"time24": "12:00",
"date": "2026-07-07",
"dayOffset": 0,
"iso": "2026-07-07T12:00:00.000-07:00"
},
"offsetHours": -3,
"summary": "3:00 PM EDT is 12:00 PM PDT",
"poweredBy": "https://www.timezonehero.com"
}Use it from JavaScript
const res = await fetch( "https://www.timezonehero.com/api/convert?from=london&to=jst&time=09:00" ); const data = await res.json(); console.log(data.summary); // "9:00 AM BST is 5:00 PM JST"
Fair use
Free for personal and commercial projects. No key required. If it is useful in your app or article, a link back to timezonehero.com is appreciated — it keeps the API free. Please cache responses where you can; conversions only change on the minute.