Why Grid9?

🎯

Uniform Precision

Consistent 2.4-3.5m accuracy globally - no variation between cities, rural areas, or remote locations.

High Performance

Over 6 million operations per second with minimal memory allocation. Perfect for real-time systems.

🔧

Production Ready

Comprehensive test suite, detailed documentation, and proven reliability for mission-critical applications.

🚗

Built for Automation

Designed specifically for autonomous vehicles, precision agriculture, and automated systems requiring exact positioning.

👥

Human-Readable

Optional XXX-XXX-XXX formatting makes codes easy to read and communicate for operations teams.

🌍

Global Coverage

Works everywhere on Earth including land, oceans, and polar regions with consistent precision worldwide.

Multi-Language Support

Grid9 is available in multiple programming languages from a single repository, following Google's libphonenumber pattern for consistent multi-language support.

C# / .NET

using OptimalCoordinateCompression;

string code = UniformPrecisionCoordinateCompressor.Encode(40.7128, -74.0060);
// Result: "Q7KH2BBYF"

227 testsHigh performanceProduction ready

View C# Documentation →
🐍

Python

from src import UniformPrecisionCoordinateCompressor

code = UniformPrecisionCoordinateCompressor.encode(40.7128, -74.0060)
# Result: "Q7KH2BBYF"

25 tests92% coverageIdentical results

View Python Documentation →

Java

import com.grid9.core.UniformPrecisionCoordinateCompressor;

String code = UniformPrecisionCoordinateCompressor.encode(40.7128, -74.0060);
// Result: "Q7KH2BBYF"

20+ testsJava 8+ compatibleMaven ready

View Java Documentation →
🚀

JavaScript

const Grid9 = require('grid9');

const code = Grid9.encode(40.7128, -74.0060);
// Result: "Q7KH2BBYF"

63 testsNode.js & browserNPM ready

View JavaScript Documentation →
⚙️

C++

#include "UniformPrecisionCoordinateCompressor.h"
using namespace grid9;

std::string code = UniformPrecisionCoordinateCompressor::encode(40.7128, -74.0060);
// Result: "Q7KH2BBYF"

C++11 compatibleZero allocationsCMake ready

View C++ Documentation →
🦀

Rust

use grid9::{encode, decode};

let code = encode(40.7128, -74.0060, false)?;
// Result: "Q7KH2BBYF"

Memory safeZero allocationsSerde support

View Rust Documentation →

All six implementations produce identical Grid9 codes and maintain the same precision characteristics. Perfect for mixed-language environments and cross-platform applications.

Try Grid9 Live

Grid9 Code:
Q7KH2BBYF
Human-Readable: Q7K-H2B-BYF
Precision: ~2.6m | Location: New York City

Grid9 vs Alternatives

System Length Precision Example Uniform?
Grid9 9 characters 2.4-3.5m globally Q7KH2BBYF Yes ✅
what3words 19+ characters 3m globally filled.count.soap Yes ✅
Plus Codes 11+ characters 2-14m variable 87G8Q23F+GF No ❌
Geohash 12 characters 1-18m variable dr5regw3p No ❌

Grid9: 53% shorter than what3words with same precision!

Get Started

Quick Installation

# C# / .NET - Install via NuGet
dotnet add package Grid9

# Python - Install from source
pip install -e ./python

# Java - Build with Maven
mvn clean package

# JavaScript - Install via NPM
npm install grid9

# C++ - Build with CMake
mkdir build && cd build && cmake .. && make

# Rust - Add to Cargo.toml
cargo add grid9

# Basic usage (all languages produce identical results)
// Grid9 code: "Q7KH2BBYF" (NYC)
// Uniform 3m precision globally

Contact & Licensing

Commercial Licensing

For commercial use of Grid9:

grid9@ukdataservices.co.uk

Technical Support

Report issues or get help:

GitHub Issues

Documentation

API reference and guides:

View Docs