Link Search Menu Expand Document

A JSON-based encoding for 3D city models

Specs latest version: v1.1.3

Getting started Web-viewer Validator


Latest news

25 Nov 2022 CityJSON v1.1.3 released

03 Nov 2022 Hello Rhino

16 Aug 2022 CityJSON v1.1.2 released

All the news


What is CityJSON?

CityJSON is a JSON-based encoding for storing 3D city models, also called digital maquettes or digital twins (longer explanation).

The aim of CityJSON is to offer a compact and developer-friendly format, so that files can be easily visualised, manipulated, and edited. It was designed with programmers in mind, so that tools and APIs supporting it can be quickly built, and several are available (most as open-source).

We believe that you should use CityJSON because:

  1. its simplicity means adding CityJSON support to your software is easy, many software already support it
  2. you can in one-click convert CityGML files to CityJSON files, and vice versa, with the open-source tool citygml-tools; we even have a tutorial
  3. files are on average 6X more compact than their CityGML equivalent
  4. it is compliant with the new CityGML version 3.0.0
  5. there is a web-viewer where you can drag-and-drop a file
  6. you can easily manipulate files with cjio, you can for instance merge files, remove/filter objects, change the CRS, manage the textures, etc.
  7. you can easily define Extensions to the core model
  8. its development is open on GitHub, it is supported by a vibrant community, and everyone is welcome to contribute

Is it an international standard?

Yes, CityJSON is an official standard of the Open Geospatial Consortium (OGC).

document 20-072r2


What’s its relationship to CityGML?

CityJSON is an encoding for a subset of the OGC CityGML data model (version 3.0.0), which is an open standardised data model and exchange format (in GML) to store digital 3D models of cities and landscapes. The few features that are not currently supported are either because they are seldom used, or because they would overcomplicate the JSON encoding; see the CityGML conformance page.

And because we offer bidirectional conversion between CityJSON and CityGML, using CityJSON means that you are using the CityGML data model.


Contributing to the project

We invite anyone to contribute to the development and improvement of CityJSON, all discussions, issues, and developments are open to everyone on the GitHub repository of CityJSON.


If you use CityJSON in an academic context, please cite this article

Ledoux H, Arroyo Ohori K, Kumar K, Dukai B, Labetski A, Vitalis S (2019). CityJSON: A compact and easy-to-use encoding of the CityGML data model. Open Geospatial Data, Software and Standards, 4:4