An open-source JavaScript library for world-class 3D globes and maps :earth_americas:
CesiumJS is a JavaScript library for creating 3D globes and 2D maps in a web browser without a plugin. It uses WebGL for hardware-accelerated graphics, and is cross-platform, cross-browser, and tuned for dynamic-data visualization.
Built on open formats, CesiumJS is designed for robust interoperability and scaling for massive datasets.
Examples ๐ Docs ๐ Website ๐ Forum ๐ User Stories
Visit the Downloads page to download a pre-built copy of CesiumJS.
If youโre building your application using a module bundler such as Webpack, Parcel, or Rollup, you can install CesiumJS via the cesium
npm package:
npm install cesium --save
Then, import CesiumJS in your app code. Import individual modules to benefit from tree shaking optimizations through most build tools:
import { Viewer } from "cesium";
import "cesium/Build/Cesium/Widgets/widgets.css";
const viewer = new Viewer("cesiumContainer");
In addition to the cesium
package, CesiumJS is also distributed as scoped npm packages for better dependency management:
@cesium/engine
- CesiumJSโs core, rendering, and data APIs@cesium/widgets
- A widgets library for use with CesiumJSSee our Quickstart Guide for more information on getting a CesiumJS app up and running.
Instructions for serving local data are in the CesiumJS
Offline Guide.
Interested in contributing? See CONTRIBUTING.md. โค๏ธ
Apache 2.0. CesiumJS is free for both commercial and non-commercial use.
The Cesium platform follows an open-core business model with open source runtime engines such as CesiumJS and optional commercial subscription to Cesium ion.
CesiumJS can stream 3D content such as terrain, imagery, and 3D Tiles from the commercial Cesium ion platform alongside open standards from other offline or online services. We provide Cesium ion as the quickest option for all users to get up and running, but you are free to use any combination of content sources with CesiumJS that you please.
Bring your own data for tiling, hosting, and streaming from Cesium ion. Using Cesium ion helps support CesiumJS development.
See more in the CesiumJS Features Checklist.