Terminal viewer for KML/KMZ files. Full TUI with braille map rendering on an OpenStreetMap tile background, interactive pan/zoom, place names from vector tiles — plus JSON output modes for scripting. No equivalent tool exists. Viewer de fichiers KML/KMZ en terminal. TUI complet avec rendu de carte en braille sur fond de tuiles OpenStreetMap, pan/zoom interactif, noms de lieux depuis les tuiles vectorielles — plus des modes de sortie JSON pour le scripting. Aucun outil équivalent n'existe.
$ kmlcli tree multi.kml → 📄 Multi Test → ├── 📁 Routes → │ └── ─ Route 1 → ├── ◻ Zone A → └── ◈ Multi $ kmlcli info multi.kml → { → "name": "Multi Test", → "placemark_count": 3, → "folder_count": 1, → "bounding_box": { "min_lon": -1.69, … } → } $ kmlcli multi.kml → TUI — braille map over OSM tiles, hjkl to pan
cargo install kmlcli — or grab a prebuilt binary from releases. Single static binary, rustls TLS, no openssl headaches.
kmlcli file.kml launches the TUI: braille-rendered map with OpenStreetMap tiles in the background, your geometries overlaid. hjkl to pan, +/- to zoom from world view to street level, t toggles the tree panel.
info, list and tree subcommands dump JSON (or --format table) — pipe into jq, batch over a folder of traces. Shell completions for fish, bash, zsh.
A folder full of GPS traces from hikes and trips. Find which track is in which file with kmlcli tree, then eyeball the route on the map — without leaving the shell.
Quick triage of KML exports — Google Earth projects, location timelines, field data — on a headless box over SSH, where no GUI viewer will ever run.
JSON output makes KML files scriptable: count placemarks, extract bounding boxes, validate batches of files in CI with jq.
A folder full of GPS traces from hikes and trips. One evening I just wanted to know which track was in which file. The answer in 2026: open a browser, find some random 'KML viewer online' site, and upload my own file to it. For data sitting on my own disk. mapscii proved years ago that braille maps work in a terminal — but nothing out there could open a KML. So I built it. One command, and the map shows up where I already am.
Un dossier plein de traces GPS de randos et de voyages. Un soir, je voulais juste savoir quelle trace était dans quel fichier. La réponse en 2026 : ouvrir un navigateur, trouver un site 'KML viewer online' douteux, et y uploader mon propre fichier. Pour de la donnée posée sur mon propre disque. mapscii a prouvé il y a des années que les cartes en braille marchent dans un terminal — mais rien ne savait ouvrir un KML. Donc je l'ai construit. Une commande, et la carte s'affiche là où je suis déjà.
The proof that terminal maps work — braille OSM rendering since 2017. But it's a map explorer: it can't open a KML/KMZ file. kmlcli is file-first — your data on the map, not just the map.
The reference for KML, and massively overkill to peek into one file. kmlcli won't do 3D flythroughs — it answers what's in this file in one command.
ogrinfo dumps KML metadata and geometries as text — no map. kmlcli gives you both: JSON for scripts, a rendered map for your eyes.
Your files never leave your machine. Unlike web-based KML viewers, parsing is fully local — only tile coordinates go out. Tes fichiers ne quittent jamais ta machine. Contrairement aux viewers KML web, le parsing est entièrement local — seules les coordonnées de tuiles sortent.
kmlcli info file.kml and kmlcli list file.kml output JSON, tree prints the document structure. Triage a folder of traces without ever opening a UI.KML viewer online website — to peek into one file is friction. kmlcli file.kml is one command, in the terminal you already have open.