Mars3D: a Cesium-based 3D globe platform for the browser
【Mars3D平台 】主仓库,包含所有开源仓库清单导航
At a glance
- What is it?
- The marsgis/mars3d repository is the main hub of the Mars3D platform, a WebGL client development platform built on Cesium with a browser-based, no-plugin deployment model. It is a navigation hub rather than the SDK source itself, and the SDK ships under a dual licence where the free community edition still requires the Mars3D logo and console copyright notice to stay in place.
- Who is it for?
- Mars3D fits a Chinese-market GIS team that wants a 3D globe with ready-made examples and templates in Vue, React, Angular or plain JavaScript, and that accepts a Chinese-language documentation set and a platform ecosystem centred on mars3d.cn. It does not fit a team that needs an unmodified open source dependency, because the free edition's terms require keeping the vendor logo and console copyright output, and the paid project templates are a separate purchase.
- Can I use it commercially?
- Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
- Is it still maintained?
- Yes. The repository last received commits 2 days ago.
- What is it written in?
- GitHub does not report a main language for this repository.
Answers come from the project's GitHub data, last synced on October 22, 2026, and from our analysis. They are not legal advice.
Editorial analysis
This repository is a hub, and the SDK lives elsewhere
The first thing to understand about the marsgis/mars3d repository is that it is not the source of the SDK. The repository description says so directly, calling it the main repository containing a navigation list of all the open source repositories, and the README repeats that the current repository holds the SDK changelog and navigation to other repositories.
That is a small organisational fact with a large practical consequence. What you find here is `CHANGE.md`, `LICENSE`, `README.md` and `README_EN.md`, and that is the whole top-level listing. The code is in the sibling repositories, and the README links them on both GitHub and the domestic Gitee mirror, since the project maintains both.
So the evaluation question for this repository is not "is the code good" but "is the platform arranged sensibly, and what does adopting it commit me to". The answer to the second half is what makes this project worth reading carefully.
The platform itself is described as a three-dimensional client development platform implemented with WebGL, based on Cesium with optimisation and enhancement, and designed with a browser and server architecture. The claims it makes are specific: it can run efficiently in the browser without installation and without plugins, it connects quickly to many kinds of GIS data and 3D models, and it presents 3D spatial visualisation for flexible application across industries.
The plugin-free and install-free part is the real technical pitch. A traditional desktop GIS client has to be installed on every machine, and a browser plugin has to be deployed and kept in step with the browser version. A WebGL client sidesteps both, which is why this class of platform exists at all rather than people using raw Cesium.
The example and template matrix, across five stacks and two languages of docs
The README's most useful content is a matrix of what is available, and reading it tells you how the project expects to be learned.
There is a functional example section with three entries, a Vue version, a native JavaScript version described as ES5, and a React version. Each links to a tutorial page, to video tutorials on Bilibili, and to source on both GitHub and Gitee. The framing is that each feature of the platform has example code written for it, and you learn the feature by reading the example, with the same effect as the official site's feature examples.
Then there is the minimal project template section, which is the one a developer actually starts from. The description says the minimal templates for different tech stacks let you use or reference them directly, and understand how the SDK is brought into a project in each stack, so you can build your own quickly. The templates are `mars3d-vue-template`, `mars3d-es5-template`, `mars3d-react-template`, `mars3d-angular-template`, `mars3d-electron` for a desktop program, and `mars3d-uni-app` for a mobile app.
The Electron and uni-app entries are worth noting. A 3D globe platform that also targets a desktop shell and a mobile framework is positioning for the case where the visualisation has to live inside an application rather than in a browser tab, and the fact that both are in the free template list rather than the paid list is generous.
Above that sits the general project template, which the documentation describes as a project template with the common features of a GIS project, so that swapping in your data and business layer completes the delivery. The Vue, native JS and React general templates are free, and the Vue 3 plus H5 app template is free. But the documentation also points at a paid template category for when you need more functionality, which is the commercial side of the platform showing through.
The documentation itself is Chinese first, with an English README in the repository and a separate tutorial page for the native JavaScript version, and the tutorials are video as well as written. The site structure is the official site at mars3d.cn, the development tutorials at mars3d.cn/docs, and the API reference at mars3d.cn/api.
Studio tools, and a layer configuration step that is not a developer task
The platform includes a set of web tools under a studio subdomain, and they are a useful signal about what the platform thinks a GIS project needs beyond code.
There is a layer configuration tool, a map plotting tool, and a map scene configuration tool, all at studio.mars3d.cn under a `project-map` path, with paths for offline layers, offline plot and offline map. The `offline` in those paths suggests the configuration is produced locally and then carried into a project.
That is a meaningful design decision. Configuring a 3D globe's layer set, the plotting symbols, and the scene setup is genuinely fiddly work that is much better done in a visual tool than in JSON, and doing it in the browser means the configuration is shareable between projects and editable by someone who does not write code.
The online demo links tell the same story from the other direction. There is an online experience link for the general Vue project, for the general native JavaScript project, for the general React project, for the 3D globe app version, and then two industry specific ones, a factory and park project and a beautiful countryside project. Those two named scenarios are industry templates, and the factory and park one in particular suggests the target market includes industrial and park management visualisation, which is a vertical that Chinese enterprise GIS vendors serve heavily.
What the platform does not have, at least in this repository, is a way to see how all of this hangs together as code. The examples and templates are in separate repositories, the configuration is in the studio tools, and the documentation is on the site. That is a distributed structure, and it means adopting the platform means following the platform, not reading a codebase.
The dual licence is the sharpest constraint in the project
The licensing section at the end of the README is the part that deserves the most attention from a non-Chinese team, and the reason is the additional terms on top of the open source licence.
The SDK uses a dual licensing model of a free community edition and a commercial licensed edition. The community free edition is based on the Apache License 2.0 with additional terms attached, the Mars3D free edition additional terms. The stated permission is that you can use it free for learning, development and commercial projects, but you must retain the Mars3D logo around the software runtime page and the copyright information printed by the browser's F12 developer console, and you must not remove, obscure or modify it.
That is a materially different proposition from Apache-2.0 on its own, and the project metadata reflects it, recording the licence as a custom one that GitHub cannot classify. If you are building a commercial product with the community edition, you are shipping a vendor logo on the page and a console message that a technically curious user will see. Both are easy to comply with, but both are things the Apache licence alone would not require, and the requirement to leave the console output in place in particular is unusual enough that a legal review should look at it.
The commercial edition is the alternative, and it is sold through the project's own mall alongside the paid project templates. The `LICENSE` file at the root of this repository is the authoritative text, and the badge in the README reads Apache-2.0 plus Mars3D Additional Terms.
The release history gives the version context. The most recent tag is v3.10.12 from 2026-01-21, before that v3.9.12 from 2025-06-19 and v3.6.16 from 2023-12-12, and the last push to the repository was on 2026-10-15. The changelog is `CHANGE.md` in the repository root.
Where Mars3D is the wrong choice
The first case is a team that needs a clean open source dependency. If your build has a licence allow-list and the additional terms put the package outside it, you have a problem that no amount of engineering fixes. The alternative is to use Cesium directly, which is what Mars3D itself is built on, and to accept that you write the layer management, the plotting tools and the scene configuration yourself. That is a real amount of work, and the Mars3D examples show roughly how much, but it comes with no logo obligation and no vendor dependency.
The second case is a project outside the Chinese market that needs documentation in English. The written documentation is Chinese, and the video tutorials, which are the primary teaching material for the features, are on Bilibili. The English README in this repository is a summary of the platform and the navigation, not a substitute for the developer documentation. A team that does not read Chinese will be relying on the example source code and on the API reference, which is a workable but slower path.
The third is a requirement for a specific Cesium behaviour. Mars3D is explicitly a platform built on Cesium with optimisation and enhancement, and it is a layer above it. Where you need to reach into Cesium's internals, or where Cesium has moved in a direction the platform has not yet absorbed, you are working against the abstraction. The version lag between the two matters, and it is not something this repository documents.
The fourth is a small project. This is a platform with a studio tool suite, industry templates, example code per feature and a commercial tier, and it is aimed at delivering a GIS product. A project that needs one 3D globe view in an existing site is not what any of that is for.
One practical note on the release numbers. The tags here are the platform's, and the last one is v3.10.12 from January 2026, so the changelog in `CHANGE.md` is where you check what changed rather than assuming a recent npm version maps to a recent platform version.
Editorial conclusion
Mars3D fits a Chinese-market GIS team that wants a 3D globe with ready-made examples and templates in Vue, React, Angular or plain JavaScript, and that accepts a Chinese-language documentation set and a platform ecosystem centred on mars3d.cn. It does not fit a team that needs an unmodified open source dependency, because the free edition's terms require keeping the vendor logo and console copyright output, and the paid project templates are a separate purchase. Before you build on it, read the LICENSE file at the root of the repository, since the additional terms on top of Apache-2.0 are the part that constrains what you can ship, and confirm which version of the SDK your project needs against the changelog in `CHANGE.md`.
Frequently asked questions
What is the Mars3D platform?
It is a three-dimensional client development platform implemented with WebGL, based on Cesium with optimisation and enhancement, designed as a browser and server architecture so it can run in the browser without installation and without plugins, and connect to many kinds of GIS data and 3D models.
What is in the marsgis/mars3d repository itself?
It is the main hub rather than the SDK source. The top-level contents are the changelog in `CHANGE.md`, the `LICENSE` file, the Chinese `README.md` and an English `README_EN.md`, and the README serves as a navigation list of the sibling repositories holding the SDK, the examples and the templates.
Which project templates does Mars3D provide?
Minimal templates exist for Vue, native JavaScript, React, Angular, an Electron desktop program and a uni-app mobile program, and general project templates with common GIS features for Vue, native JavaScript, React and a Vue 3 plus H5 app. Paid project templates are offered separately for projects needing more functionality.
What are the licensing terms of the Mars3D SDK?
The SDK uses a dual licence of a free community edition and a commercial edition. The community edition is based on the Apache License 2.0 with additional terms, and it can be used free for learning, development and commercial projects, but the Mars3D logo around the runtime page and the copyright output in the browser console must be retained and not removed, obscured or modified.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/marsgis-mars3d)Was this useful?