cesium README

The project's README from github.com/CesiumGS/cesium. As one markdown file: README.md.

CesiumJS

Build Status npm Docs

Cesium

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 :earth_asia: Docs :earth_americas: Website :earth_africa: Forum :earth_asia: User Stories


:rocket: Get started

Visit the Downloads page to download a pre-built copy of CesiumJS.

npm & yarn

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:

What next?

See 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. :heart:

:green_book: License

Apache 2.0. CesiumJS is free for both commercial and non-commercial use.

:earth_americas: Where does the Global 3D Content come from?

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.

:white_check_mark: Features

See more in the CesiumJS Features Checklist.

cesium (CesiumGS/cesium)

Searching Database…

15.8K ·GitHub
What is this?CesiumJS is an open-source JavaScript library for creating 3D globes and 2D maps in the browser without a plugin — WebGL provides hardware-accelerated graphics.
Is it a finished app, or a library I code against?A library, not a standalone app — you import it into your own web application code and build the globe or map UI yourself.
How do I add it to my web app?Install the 'cesium' npm package (it works with bundlers like Webpack, Parcel, or Rollup) and import it in your app code; a pre-built copy is also on the Downloads page, and a Quickstart Guide walks you through a first app.
What do I need for it to run?Nothing beyond a modern browser with WebGL — no plugin needed, and it works cross-browser. Node.js 22+ is required only to build or run this repository itself.
Does it come with imagery and terrain built in, or do I supply the 3D content myself?The 3D content is not bundled: terrain, imagery, and 3D Tiles are streamed, typically from the commercial Cesium ion platform — the quickest way to start — though any open-standard source works alongside it.
Will apps built with it work for people on phones, or desktop browsers only?Both — CesiumJS is cross-browser, and it is designed for sharing with users on desktop or mobile.
Can I run it fully offline with my own locally hosted data?Yes — Cesium ion is optional, and the CesiumJS Offline Guide covers serving your own local data.
Can I use it in commercial projects?Yes — Apache 2.0, free for both commercial and non-commercial use.
What can it actually display?It streams 3D Tiles and other standard formats — terrain, imagery, glTF models, and CZML data (both formats are listed in the repo topics) — onto a high-precision WGS84 globe, built to scale to massive datasets.
What are @cesium/engine and @cesium/widgets?The two scoped npm packages CesiumJS is split into for easier dependency management: @cesium/engine holds the core, rendering, and data APIs, while @cesium/widgets adds a widgets library for building apps with CesiumJS.
Why is there a paid Cesium ion if the library is free?Open-core model: the runtime engine is open source, and the optional commercial Cesium ion subscription (tiling, hosting, streaming your data) funds it — using ion helps support CesiumJS development.
Creator
CesiumGS
Size
1.2 GB
Stars
15.8K
Age
14y
Commits · 90 Days