Convert CityJSON to glTF (Free)
Also converts STL, OBJ, GLB, PLY, USDZ, 3MF from the same file.
Runs in your browser. No upload, no signup, nothing to install.
Also from Innerscene: Circadian Lab, a free lighting calculator for room illuminance, melanopic EML, and glare.
How to convert CityJSON to glTF
- 1
Open your .json file
Drag it onto the viewer above, or click "Open a CityJSON File". Files up to 200 MB open directly; the parse runs in a worker so the page stays responsive.
- 2
Pick glTF separate (.gltf + .bin) in the Export menu
Click Export in the toolbar, then glTF (.gltf).
- 3
Download
The .gltf is written in the browser and saved straight to your downloads folder. No queue, no email, no watermark.
What survives the conversion
A file conversion is a translation, and formats do not carry the same things. Here is exactly what moves from CityJSON into glTF, and what does not.
| Geometry | Kept | Both formats store triangle meshes, so the shape transfers directly. |
|---|---|---|
| Colors and materials | Kept | glTF carries full PBR materials, which is at least what CityJSON stores, so the colors come across. |
| Textures | Kept | Bitmap textures are embedded in the glTF file with their UV coordinates. |
| Layers and structure | Kept | Layers survive as real layers in the glTF file, so you can still isolate and toggle them. |
| Units and scale | Kept | glTF stores an explicit unit, so the model opens at true size without rescaling. |
| Map coordinates | Reduced | glTF is written in local meters, centered on the data. OBJ, PLY, XYZ, DXF and DWG exports keep the map coordinates. |
What the glTF writer emits: The GLB export unpacked into its two parts: a JSON `.gltf` with `buffers[0]` pointing at an external `${base}.bin` (the source file’s own base name), zipped together.
The source: CityJSON city model (JSON / JSONL) (.json, .jsonl)
A CityJSON 1.0, 1.1 or 2.0 city model, or a CityJSONSeq stream: every object at its highest level of detail, with its semantic surfaces in colour, materials, textures and geometry templates, grouped by object type and recentred from its coordinates, in metres.
The target: glTF separate (.gltf + .bin) (.gltf)
The same glTF scene as the GLB export, as the loose JSON and binary files some pipelines expect instead of one packed file.
Opens in: Blender, Unity, Unreal Engine, model-viewer, any glTF-separate pipeline.
Your file never leaves your computer
Both the CityJSON parser and the glTF writer are JavaScript and WebAssembly running in your own browser tab. There is no upload step, no server-side conversion queue, and no copy of your file anywhere but your machine. That matters for drawings under NDA, for client work, and for anything you would not email to a stranger.
Free to Use, No Signup
There are no accounts and no watermarks on this converter. If it saved you time, the one thing we ask is a mention: a post, a link from your blog or course page, or a reply to someone asking how to open a file.
Share it
Made something reusable? Add it to the Free Parts Library. Writing about it? Copy a link, badge or citation. Send us your post and we’ll feature it with a link to your site.
Hear about new formats
Occasional emails when the viewer learns a new format or gets a new tool.
Frequently asked questions
▶Is this CityJSON to glTF converter free?
Yes. No signup, no watermark, no per-file limit and no paid tier. Innerscene.
▶Is my CityJSON file uploaded anywhere?
No. The file is read with the browser file API and converted in the same tab. Nothing is sent to a server unless you explicitly click Share, which is a separate, opt-in feature.
▶Will my colors and materials survive the glTF export?
glTF carries full PBR materials, which is at least what CityJSON stores, so the colors come across.
▶Do layers and named parts carry into the glTF file?
Layers survive as real layers in the glTF file, so you can still isolate and toggle them.
▶Will the glTF open at the right size?
glTF stores an explicit unit, so the model opens at true size without rescaling.
▶How large a CityJSON file can I convert?
Up to 200 MB, and the ceiling adapts to how much memory your device reports. The conversion runs on your own hardware, so a desktop with plenty of RAM will handle more than a phone.
▶Can I convert glTF back to CityJSON?
Not here. We read CityJSON and write glTF, but not the reverse. the universal 3D viewer
▶Which browsers does it work in?
Chrome, Edge, Firefox and Safari, on Windows, macOS, Linux, iOS and Android. No plugin and no extension.
Convert CityJSON to something else
Convert something else to glTF
Or start from the universal 3D viewer.