[LAT: 00.00, LNG: 00.00]
49,992 cities · 241 countries · MIT license

Cities data.
Zero friction.

A TypeScript-first utility library for searching, filtering, and calculating distances across global city data.

View on GitHub →
0
Cities
0
Countries
0
Functions
0
Query time

Interactive Playground

playground.ts
import { search } from '@novaedgedigitallabs/citykit';

const results = search("Delhi");
// Returns matching cities instantly
> output

Package Features

search()
LIVE QUERY
Name-based city search with partial matching and smart prefix/exact sorting.
// Start typing to search...
fuzzySearch()
TYPO TOLERANT
Typo-tolerant matching using Levenshtein distance.
// Enter typo to correct...
nearest()
RADAR SCAN
Find the closest city to any coordinate on Earth. Hover on radar below.
// Move cursor above grid
Nearest: -
distance()
GEODESIC PATH
Calculate exact Haversine distance in both kilometers and miles.
0.00 km
0.00 miles
byContinent()
TAB FILTER
Filter cities across major continents.
byPopulation()
THRESHOLD
Query cities matching a population threshold.
> 10M pop
stats()
METRICS
Database metrics, global summaries.
49,992
Cities
241
Countries
Continent Share
random()
SLOT MACHINE
Instantly extract a random city from the global database.
Paris France · FR · 11.0M pop

Flexible Datasets

Full Dataset (~49,992 cities)
// 49,992 cities worldwide
import {
  search, nearest, distance,
  fuzzySearch, byContinent,
  byPopulation, stats, random
} from '@novaedgedigitallabs/citykit';
Lite Dataset (~1,422 cities)
// 1,422 major cities — smaller bundle
import {
  search, nearest, distance
} from '@novaedgedigitallabs/citykit/lite';

Project Roadmap

withinRadius() nearestMany() autocomplete() countryStats() continentStats() timezone utilities