timezonefinder
python package for finding the timezone of any point on earth (coordinates) offline
Decision gist · record as of 2026-08-14
Yes, if you need offline timezone lookup from coordinates. The package is actively maintained, has no known vulnerabilities, and ranks in the top 5000 PyPI packages by downloads. Medium install friction from 4 runtime dependencies is typical for geospatial work. Verify that ODbL data licensing aligns with your use case before deployment.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.11 or later; numpy, h3, cffi, and flatbuffers must be installed (typically automatic via pip).
- Medium install friction due to 4 runtime dependencies (numpy, h3, cffi, flatbuffers) and compiled wheels, but actively maintained with a recent release (32 days old) and active repository status.
License · maintenance · safety
(unclear) — MIT license on code; data is separately licensed under ODbL. Both are permissive, but ODbL data licensing should be verified for your use case.
last release 2026-07-13 (32 days) · last repo commit 2026-08-14 · 537 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 6,413,680 downloads/mo, #1,915 on PyPI
Alternatives
Verify before relying
pip install timezonefinder
from timezonefinder import timezone_at
tz = timezone_at(lng=13.358, lat=52.5061) # returns 'Europe/Paris'- Actual memory footprint and lookup performance compared to alternatives under typical workloads.
- Whether the maintainer search mentioned in the description affects long-term maintenance stability.
- Behavior and accuracy at timezone boundaries relative to claimed 'maximum accuracy' goal.
What it is and what it does
timezonefinder is a Python library that determines which timezone contains any point on Earth given its WGS84 coordinates (latitude and longitude). It works entirely offline by querying preprocessed polygon boundary data, making it suitable for applications that cannot rely on network calls or external APIs. The library emphasizes accuracy at timezone borders without geometric simplification, combining polygon data with H3-based spatial indexing for fast lookups.
The package supports modern Python versions (3.11–3.14) and offers two usage patterns: a simple global function for one-off queries, or a reusable instance for batch operations. It includes the full original timezone dataset with all timezone names for complete localization support, though a reduced dataset option is available for smaller memory footprint. Optional acceleration is available via Numba or a clang-backed point-in-polygon routine.
Use it for
- Batch geocoding pipelines that need to assign timezones to millions of coordinates without external API calls.
- Mobile or embedded applications requiring offline timezone resolution for user location data.
- Time-series data processing where you need to convert timestamps to local time based on coordinate history.
- Web services that must resolve timezones for map-based user interactions without latency.
- Data validation and enrichment workflows where timezone accuracy near borders is critical.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need offline timezone lookup from coordinates.
The package is actively maintained, has no known vulnerabilities, and ranks in the top 5000 PyPI packages by downloads. Medium install friction from 4 runtime dependencies is typical for geospatial work. Verify that ODbL data licensing aligns with your use case before deployment.
Install
timezonefinder on PyPI
Before you install
Medium install friction due to 4 runtime dependencies (numpy, h3, cffi, flatbuffers) and compiled wheels, but actively maintained with a recent release (32 days old) and active repository status.
Requires Python 3.11 or later; numpy, h3, cffi, and flatbuffers must be installed (typically automatic via pip).
License in practice
MIT license on code; data is separately licensed under ODbL. Both are permissive, but ODbL data licensing should be verified for your use case.
Quickstart
pip install timezonefinder
from timezonefinder import timezone_at
tz = timezone_at(lng=13.358, lat=52.5061) # returns 'Europe/Paris'
Verify before relying
- Actual memory footprint and lookup performance compared to alternatives under typical workloads.
- Whether the maintainer search mentioned in the description affects long-term maintenance stability.
- Behavior and accuracy at timezone boundaries relative to claimed 'maximum accuracy' goal.
Package facts
| License | Not declared unclear |
| Python support | Supports the current Python release <4,>=3.11 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | 4 packagesnumpyh3cffiflatbuffers |
| Maintenance | Actively maintained 32 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 6,413,680 / month, #1,915 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: Information TechnologyNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Software Development :: Localization |
Evidence: timezonefinder-8.2.5-cp311-abi3-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl; timezonefinder-8.2.5-cp311-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl; timezonefinder-8.2.5-cp311-abi3-musllinux_1_1_x86_64.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “lat lon to timezone”
- timezonefinderLooks up the timezone for any WGS84 coordinate (latitude/longitude)…
- polylineEncodes and decodes geographic coordinate sequences using Google's…
- mgrsConverts between MGRS (Military Grid Reference System) coordinates…
Give your agent the search over MCP, or paste the wish link into any chat.
More Localization packages
Measures the displayed width of Unicode strings in terminals, accounting for wide characters, combining marks, and terminal escape sequences that standard Python string functions mishandle.
Install it if your application formats text for terminals and handles non-ASCII characters.
Provides programmatic access to ISO standard databases for countries, subdivisions, languages, currencies, and scripts through a Python API.
Converts numbers to their word representations in multiple languages, supporting cardinal numbers, ordinals, years, and currency formats.
Install it if you need multilingual number-to-words conversion.
polib reads, writes, and manipulates gettext translation files (PO, POT, and MO formats), allowing you to load, iterate, modify entries, and create translation catalogs programmatically.
Install it if you need to work with gettext files programmatically.
Provides Unicode normalization (NFC, NFD, NFKC, NFKD) using Unicode Standard version 17.0 data, independent of the host Python environment's built-in Unicode version.
Install it if your application requires consistent normalization across different systems or if you need to target a specific Unicode Standard version.
Converts dates between the Hijri (Islamic) and Gregorian calendars using the Umm al-Qura standard, with support for dates from 1343 AH to 1500 AH.
Install it if you need reliable Hijri-Gregorian conversion within the supported date range; the main constraint is the 1343–1500 AH window and the explicit…
See also tzfpy · tzwhere · pytzdata · reverse_geocoder · reverse-geocode · convertbng · haversine · pyzipcode · tzlocal · pgeocode