Human context
“NW of Trichy airport, 5 km” means something to a person. A string of random letters or three random words doesn't tell you where on Earth to start.
KEYPAD 1–9 Open location code · spec v4
No word lists. No random letters. An AirportVector code tells you which airport, which direction and how far — before you even open a map.
Click anywhere — land, sea, even Antarctica. Or paste a code. Everything runs in your browser; nothing is sent to a server.
The map couldn't load. You can still paste a code or coordinates in the panel.
A code is an airport and ten digits, read like a phone number. That's all.
Say it like a phone number: T-R-Z, five-five-five-one-one, seven-nine-five-six-six.
The area round the airport is split into 9 squares, numbered like a keypad. Each square is split into 9 again, and again: 81 km → 27 km → 9 km → 3 km → 1 km.
5 is always the middle, so it always holds the airport. Count the 5s at the start to know how close a place is:
TRZ 5····within 40 kmTRZ 55···within 13.5 kmTRZ 555··within 4.5 kmTRZ 5555·within 1.5 kmFar from any airport? The first group just gets longer — 6 digits past 121 km, more in the deep ocean.
TRZ 555111 kmTRZ 55511 79111 mTRZ 55511 79537 mTRZ 55511 795664 mA short code is the start of the long one — trimming digits just zooms out. Places that share a start share a square.
4,133 commercial airports anchor the whole planet. The farthest any point gets from its nearest airport is about 5,150 km — deep in Antarctica.
“NW of Trichy airport, 5 km” means something to a person. A string of random letters or three random words doesn't tell you where on Earth to start.
The grid is azimuthal-equidistant on the WGS84 ellipsoid, so √(X² + Y²) is the true ground distance to the airport.
A small anchor file and plain maths. No lookups, no accounts, no network — the demo above runs entirely in your browser.
Reference implementations in Python and JavaScript, tested against each other on 120,000+ checks.
import airportvector as av
av.encode(10.7950461, 78.6793020)
# 'TRZ-55511-79566'
av.describe("TRZ 55511 79566")
# '5.5 km NW of TRZ (Tiruchirappalli International Airport)'
av.decode("TRZ 55511 79566")
# (10.795057, 78.679284)
OAVG.loadRegistry(await (await fetch("/anchors.json")).json());
OAVG.encode(51.5074, -0.1278); // "LCY-55444-38173"
OAVG.display("LCY-55444-38173"); // "LCY 55444 38173"
OAVG.neighbors("TRZ-55511"); // the 8 squares around it
OAVG.shorten("TRZ-55511-79566", "1km"); // "TRZ-55511"