# .glx docs: the single-file geocoding format

> .glx is geolith's single-file format: search, autocomplete, reverse geocoding and lookup by id from one file read in HTTP ranges from R2, S3 or disk. A parts table also holds a routing part, specified but not built yet. Concepts, the version 1 specification, and how to create and query a file.

Status: Live.

A single-file format for search, autocomplete, reverse geocoding and lookup by id. The file header lists its parts: the search part, and a routing part that is specified but not built yet. A reader keeps a small part of the file in memory and fetches the rest with HTTP range requests, so the file can sit in R2, S3 or on local disk.

## Features

- One file: The indexes and the records in one file. No database, no server-side index.
- Range reads: A reader fetches byte ranges, from object storage or local disk.
- Four questions: Search, autocomplete, reverse geocoding and lookup by id.
- Versioned spec: Version 1, byte by byte, with sample files and their expected answers.
- Command line: glx-build writes a file from a Postgres table, glx-query queries it, glx-parts merges parts.
- Browser viewer: Open a local file or URL and query it on a map. Nothing is uploaded.

## Docs

- [Overview](https://docs.geolith.app/glx/overview.md): Where .glx fits, the viewer, and sample files.
- [Concepts](https://docs.geolith.app/glx/concepts.md): What is in a file and how a reader answers a query.
- [Specification](https://docs.geolith.app/glx/spec.md): The version 1 format, byte by byte, with its changelog.
- [Create a file](https://docs.geolith.app/glx/create.md): From Overture Maps and OpenStreetMap with the builder, or from a Postgres table.
- [Command line](https://docs.geolith.app/glx/cli.md): glx-build, glx-query and glx-parts.
