Timezone Boundary Builder

The goal of this project is to produce a shapefile with the boundaries of the world's timezones using OpenStreetMap data.

World Timezone Map

Github downloads for all releases GitHub release

Project Goal

This project produces regular releases of the approximate boundaries of the world's timezones. Each boundary is associated with a single timezone identifier as defined by the IANA timezone database (for example, America/Los_Angeles or Asia/Shanghai). The final data is available in both GeoJSON and Shapefile formats.

All data is sourced from OpenStreetMap and processed through a series of geometric operations to build, validate, and package the timezone boundaries.

Release Data

The data is available for download in this project's releases page. For a detailed explanation of the different data formats and types, please see the Release Data Explained page.

Data Usage & Libraries

The data generated by this project is used by various libraries for programmatic timezone lookups based on geographic coordinates. Here are some libraries that use the data from timezone-boundary-builder:

Language Library
C ZoneDetect
Elixir tz_world
Go timezoneLookup
Go tzf
Java & Android TimeZoneMap
Java Timeshape
JavaScript (node.js only) node-geo-tz
JavaScript (node.js and in browser) timespace
JavaScript (node.js and in browser) tz-lookup
JavaScript (browser only) browser-geo-tz
JavaScript (browser only) tzf-wasm
Julia TimeZoneFinder
.NET GeoTimezone
.NET TZFinder
Perl Geo::Location::TimeZoneFinder
php Geo-Timezone
Python timezonefinder
Python tzfpy
R lutz
Ruby tzf-rb
Ruby wheretz
Rust tzf-rs
Rust rtz
Swift tzf-swift

For more information on licensing, see the License page.