https://github.com/osmberlin/tagging-schema-browser
Browse, search, and review the OpenStreetMap iD tagging schema — presets, fields, and icons — for any release or PR-preview build.
https://github.com/osmberlin/tagging-schema-browser
id-editor id-tagging-schema openstreetmap osm
Last synced: about 1 month ago
JSON representation
Browse, search, and review the OpenStreetMap iD tagging schema — presets, fields, and icons — for any release or PR-preview build.
- Host: GitHub
- URL: https://github.com/osmberlin/tagging-schema-browser
- Owner: osmberlin
- License: isc
- Created: 2026-06-14T08:50:19.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2026-06-23T06:11:11.000Z (about 1 month ago)
- Last Synced: 2026-06-23T06:17:47.606Z (about 1 month ago)
- Topics: id-editor, id-tagging-schema, openstreetmap, osm
- Language: TypeScript
- Homepage: https://osmberlin.github.io/tagging-schema-browser/
- Size: 222 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Tagging Schema Browser
A standalone web app to **browse, search, and inspect the [OpenStreetMap iD tagging schema](https://github.com/openstreetmap/id-tagging-schema)** — its presets, fields, icons, and the connections between them — for any released or pre-release build.
**Live:** https://osmberlin.github.io/tagging-schema-browser/
## About
The iD tagging schema is the dataset that drives preset and field selection in the [iD editor](https://github.com/openstreetmap/iD) (and other tools). It is large and highly cross-referenced, which makes it hard to review changes or understand how a preset, field, or icon is reused across the dataset.
This app loads a built `dist/` of the schema and makes it explorable in the browser — no build step or checkout required. It is meant both as an everyday reference and as a **review tool for schema pull requests**: point it at a PR's preview build and see exactly what changed.
## Features
- **Presets** — faceted search by category, primary tag, geometry, field, and icon set. Open a preset to see its tags, fields, category, and icon — each with a count that links to everything else using the same value.
- **Icons** — browse the icon sets presets draw from (Maki, Temaki, Roentgen, FontAwesome), filter by supplier / usage / asset status, and spot duplicates.
- **Shareable state** — all search and filter state lives in the URL (TanStack Router + Zod), so any view can be linked. Press ? in the app for keyboard shortcuts.
## Loading a schema build (`?dataUrl=`)
The app reads the schema from the `dataUrl` query parameter — the base URL of a tagging-schema `dist/` folder:
| Goal | URL |
| --- | --- |
| Latest release (default) | open the app |
| A specific version | `…/?dataUrl=https://cdn.jsdelivr.net/npm/@openstreetmap/id-tagging-schema@6/dist` |
| A pull-request preview | `…/?dataUrl=` |
## Develop
This project is **bun-only** ([bun](https://bun.com) ≥ 1.3):
```bash
bun install
bun run dev # dev server
bun run build # typecheck (tsc) + production build (vite)
bun run lint # biome
bun run test:e2e # playwright
```
Tech stack: React 19, Vite 8 (Rolldown), TanStack Router (Zod-validated search params), Tailwind CSS v4, itemsjs (faceted search), Fontsource (self-hosted Inter + Lexend).
## Deploy
Pushing to `main` builds with bun and publishes `dist/` to GitHub Pages via [`.github/workflows/deploy-pages.yml`](.github/workflows/deploy-pages.yml). The workflow sets `BASE_PATH` to `//` for [Vite's base path](https://vite.dev/guide/build#public-base-path), and the build emits a `404.html` (a copy of `index.html`) so deep links and refreshes resolve client-side on Pages.
## License
[ISC](LICENSE.md) — copied from the [iD editor](https://github.com/openstreetmap/iD).