Squarenames

regionsector · 840 mpatch · 15 mspot · 3 m

Three parts, like salty rowan 6, find the square if it's within about 25 km of the map. The full name with the region, 51n1w-e3.salty.rowan.6, finds it from anywhere.

What a squarename is

A squarename is a short, speakable address for a 3-metre square anywhere on Earth. It is computed from a coordinate by formula and decoded back by the same formula. Nothing is stored, nothing is looked up, no server is involved.

51n1w-e3.salty.rowan.6
51n1w-e3
the region: a 0.2° tile, named by a self-describing coordinate code (51°N 1°W, sub-square e3)
salty
the sector: an 840 m square, named by an adjective
rowan
the patch: a 15 m square, named by a noun
6
the spot: one of 25 three-metre squares in the patch

The last three parts, salty rowan six, are unique within any 25 km window, so people in the same town can say them alone. The region makes the name unique worldwide. An optional fifth part is a check token, a character or a word, so a name that was misheard is caught rather than guessed.

Move the map above and the name under the crosshair updates. Drag in close to see the three squares drawn: the sector in blue, the patch in black, the spot in red.

Use it

The reference implementation is an npm package with no runtime dependencies, published under the Apache 2.0 licence.

npm install squarename
import { encode, decode, format, parse } from "squarename";

const name = encode(51.5308, -0.1238);
format(name);                 // "51n1w-e3.salty.rowan.6"
format(name, { check: "word" }); // "51n1w-e3.salty.rowan.6.shamrock"

const parsed = parse("51n1w-e3 salty rowan 6");
decode(parsed);               // { lat, lng } inside the same 3 m square

The specification defines the grid, the wordlist, the check tokens and the test vectors, so an implementation in any language can be checked against this one. The spec and wordlists are licensed CC BY 4.0.

Who is behind it

Squarenames is developed and maintained by SQRS, which uses it as the address of every square in its apps. The specification is open so that any product can name a place the same way.