🌍 WWC-ID – Open Specification
Created by:
Rüdiger Gums
First Publication:
08 November 2025
License:
MIT License
1. Introduction
The Worldwide Coordinate Identifier (WWC-ID) is an open, decentralized encoding system that uniquely describes almost any point on Earth. Each location receives a 9-character alphanumeric identifier, which is fully mathematically defined, reversible, offline computable, and freely licensed.
The WWC-ID is suitable for navigation, humanitarian work, documentation, research, crisis response, and any application that requires a permanent and universal location identification system.
2. Historical Context
The term World Wide Code (WWC) was first published in 2009 by Rüdiger Gums in the book:
“World Wide Code (WWC): Die neue Orientierung”
ISBN-10: 3941756001
ISBN-13: 978-3941756007
Publication Date: 17 March 2009
This WWC-ID Specification (2025) builds upon the original WWC concept and defines the modern, mathematically reproducible coordinate identifier.
2. Fundamentals
| Alphabet | Z5nG%Kb:IeR@3LmD*T7V=W1(YfCM?XdF-H9P/6Ot+8hU~4E)a2#N_A!QrSBJ (60 characters) |
| Base | 60 |
| Code Format | AAAA A AAAA → 9 characters (4-1-4 grouping) |
| Projection | Web Mercator (EPSG:3857) |
| Projection Range | ±85.05112878° latitude (standard for EPSG:3857) |
| Grid Resolution | 1 meter |
| Coverage | almost entire Earth (except polar regions) |
| Reversibility | fully bidirectional (WWC-ID ↔ lat/lon) |
3. Algorithmic Specification
3.1 Forward (Coordinate → WWC-ID)
- Clamp latitude to EPSG:3857 valid range (±85.05112878°).
- Convert WGS84 to Web Mercator:
φ = lat × π/180
λ = lon × π/180
x = R × λ
y = R × ln(tan(π/4 + φ/2)) - Convert to positive indices:
xIndex = round(x − WORLD_MIN)
yIndex = round(y − WORLD_MIN) - Global index:
index = yIndex × WORLD_WIDTH + xIndex - Base-60 decomposition into 9 characters.
- Left-pad with “Z” if necessary.
- Optional output format: AAAA A AAAA.
3.2 Reverse (WWC-ID → Coordinate)
- Remove all non-code characters (spaces, dots, hyphens).
- Reconstruct the Base-60 index.
- Reverse index:
xIndex = index % WORLD_WIDTH
yIndex = floor(index / WORLD_WIDTH) - Convert back to projection:
x = xIndex + WORLD_MIN
y = yIndex + WORLD_MIN - Convert back to WGS84:
lon = (x / R) × 180/π
lat = (2 × atan(exp(y / R)) − π/2) × 180/π
4. Reference Implementation (JavaScript)
function encodeWWCID(lat, lon) {
const R = 6378137.0;
const MIN = -20037508.3427892;
const WIDTH = 20037508.3427892 - MIN;
const φ = Math.max(Math.min(lat, 85.05112878), -85.05112878) * Math.PI / 180;
const λ = lon * Math.PI / 180;
const x = R * λ;
const y = R * Math.log(Math.tan(Math.PI / 4 + φ / 2));
const xIdx = Math.round(x - MIN);
const yIdx = Math.round(y - MIN);
const index = yIdx * WIDTH + xIdx;
const A = "Z5nG%Kb:IeR@3LmD*T7V=W1(YfCM?XdF-H9P/6Ot+8hU~4E)a2#N_A!QrSBJ";
let n = index, b = [];
while (n > 0) {
b.unshift(A[n % 60]);
n = Math.floor(n / 60);
}
while (b.length < 9) b.unshift("Z");
const c = b.join("");
return c.slice(0,4) + " " + c[4] + " " + c.slice(5);
}
5. License (MIT License)
Copyright (c) 2025 Rüdiger Gums
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files to deal in the Software
without restriction, including use, copy, modify, merge, publish, distribute,
sublicense, and/or sell copies.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND.
6. Permanent Reproducibility
The WWC-ID remains permanently reproducible as long as alphabet, projection,
world boundaries, and Base-60 algorithm remain unchanged.
The system is completely independent of platforms, organizations, or servers.

