staticdata.dev
Menu
Datasets About Contact

Timezones

A curated set of IANA timezones spanning every populated region of the world, with the UTC offset in standard and daylight saving time, the most common abbreviation, and an alias-of pointer for deprecated zone names so client code can normalise to canonical zones.

v1.0.0 MIT 105 records Updated 2026-04-25 stable Source:  IANA tzdata

Quick fetch

Stable, immutable URL. CORS-enabled. No auth.

bash
curl https://staticdata.dev/v1/timezones.json

Or use as a typed import: import { timezones } from "https://staticdata.dev/v1/timezones.ts"

Formats

  • JSON 17.1 KB

    /v1/timezones.json

    Open

    min: 12.8 KB · /v1/timezones.min.json

  • CSV 4.0 KB

    /v1/timezones.csv

    Open
  • TypeScript 17.3 KB

    /v1/timezones.ts

    export const timezones

    type Timezone = (typeof timezones)[number]

    Open

Schema

Each record in the dataset has the following shape.

Schema
Field Type Description Example
name string IANA timezone identifier (Region/City format) America/New_York
country? string | null ISO 3166-1 alpha-2 country code (null for UTC) US
offsetStandard string UTC offset during standard time -05:00
offsetDst string UTC offset during daylight saving time (equal to standard if no DST) -04:00
abbreviation string Common abbreviation EST
aliasOf? string | null Canonical zone this is an alias of, or null if canonical

Preview

First 10 records.

Data preview
namecountryoffsetStandardoffsetDstabbreviationaliasOf
Africa/AbidjanCI+00:00+00:00GMT
Africa/AccraGH+00:00+00:00GMT
Africa/Addis_AbabaET+03:00+03:00EATAfrica/Nairobi
Africa/AlgiersDZ+01:00+01:00CET
Africa/CairoEG+02:00+03:00EET
Africa/CasablancaMA+01:00+00:00+01
Africa/JohannesburgZA+02:00+02:00SAST
Africa/LagosNG+01:00+01:00WAT
Africa/NairobiKE+03:00+03:00EAT
Africa/TunisTN+01:00+01:00CET

Showing 10 of 105. View full data:  JSON · CSV

Fetch examples

Drop-in snippets in five languages.

curl
curl -sSL https://staticdata.dev/v1/timezones.json | jq '.[0]'
JavaScript
import type { Timezone } from "https://staticdata.dev/v1/timezones.ts";

const res = await fetch("https://staticdata.dev/v1/timezones.min.json");
if (!res.ok) throw new Error(`Fetch failed: ${res.status}`);
const timezones: Timezone[] = await res.json();
console.log(timezones[0]);
Python
import urllib.request, json

with urllib.request.urlopen("https://staticdata.dev/v1/timezones.min.json") as r:
    timezones = json.load(r)

print(timezones[0])
Go
package main

import (
	"encoding/json"
	"fmt"
	"net/http"
)

func main() {
	resp, err := http.Get("https://staticdata.dev/v1/timezones.min.json")
	if err != nil { panic(err) }
	defer resp.Body.Close()

	var data []map[string]any
	if err := json.NewDecoder(resp.Body).Decode(&data); err != nil {
		panic(err)
	}
	fmt.Println(data[0])
}
Rust
use serde_json::Value;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let body = ureq::get("https://staticdata.dev/v1/timezones.min.json").call()?.into_string()?;
    let data: Vec<Value> = serde_json::from_str(&body)?;
    println!("{:?}", data.first());
    Ok(())
}

Sources and methodology

The dataset includes the canonical IANA zones for every populated region plus a small set of common aliases (Europe/KievEurope/Kyiv, Asia/CalcuttaAsia/Kolkata, America/MontrealAmerica/Toronto) so that legacy data normalised against older tzdata releases can be mapped to current names.

Offsets reflect the rules in effect at the time of the most recent build. Some zones have non-standard DST schedules; for full accuracy at any point in time, use a runtime library backed by tzdata rather than these static offsets. This dataset is for picker UIs and approximate offset display, not for date arithmetic.

Abbreviations are not unique. CST refers to Central Standard Time, China Standard Time, and Cuba Standard Time. Use the full IANA name as the canonical identifier.

A pure-UTC zone is included with country: null.

Versioning

URLs under /v1/ are immutable. The data they return will not change in a way that breaks consumers. Schema-incompatible updates ship under a new version path. See the timezones changelog for this dataset's history.

Related datasets