What it is
Apache ECharts is a free, interactive charting and data visualization library that runs in the browser. It is written in pure JavaScript and built on top of zrender, a lightweight canvas library that handles rendering and interaction under the hood. The project lives in the JavaScript and TypeScript ecosystem, is distributed through npm as the echarts package, and is developed under the Apache Software Foundation with an Apache-2.0 license. Its source is written in TypeScript, and the repository has been maintained for more than a decade.
The concrete problem it solves is adding charts to web products without building a rendering and interaction layer from scratch. Developers describe a chart through a declarative option object, and the library handles drawing, animation, tooltips, and user interaction. It offers both canvas and SVG rendering paths, so the same chart definition can target different output needs. Because the option format is declarative rather than imperative, teams can construct visualizations quickly and keep chart code maintainable across commercial products.
Key capabilities
- Declarative option-based configuration for defining charts and their interactions.
- Interactive charts suited to browser display, including the interactions the library provides out of the box.
- Highly customizable chart definitions, per the project's own description of its offering.
- Canvas rendering through zrender, the lightweight canvas library the project is built on.
- SVG rendering, reflected in the project's topic list alongside canvas.
- TypeScript source with a
npm run checktype step for type correctness.
- Extension packs, including ECharts GL for 3D plots, globe visualization, and WebGL acceleration, plus liquidfill, wordcloud, and a Baidu Map extension.
Who uses it and how
- Front-end teams embed charts in commercial products, which the README names as the target audience.
- Vue.js applications use
vue-echarts, a dedicated ECharts component for that framework.
- Analysts and developers needing statistical charting use
echarts-stat, a statistics tool provided as an extension.
- Projects needing 3D or globe views add ECharts GL rather than replacing the core library.
- Teams building specialized visuals such as liquid fill gauges or word clouds pull in the matching extension package.
Getting started
The README lists three acquisition routes: download from the official website, run npm install echarts --save, or load the package from the jsDelivr CDN. For building from source, Node.js is required, and the flow is npm install, then npm run dev for watch-mode rebuilds, or npm run release to generate production files into the dist directory.
When to use it — and when not to
Choose it when a free, browser-based charting library with declarative configuration and an extension ecosystem fits the stack. No paid product comparison is given in the supplied facts, and no hosted service is offered, so the library is something a team bundles and serves itself. Documentation is spread across a handbook, API reference, option manual, and examples, which is considerable material to work through before advanced customization becomes quick.
project readme (upstream, from github) — read inline
Apache ECharts
Apache ECharts is a free, powerful charting and visualization library offering easy ways to add intuitive, interactive, and highly customizable charts to your commercial products. It is written in pure JavaScript and based on zrender, which is a whole new lightweight canvas library.
中文官网 | ENGLISH HOMEPAGE


Get Apache ECharts
You may choose one of the following methods:
Docs
Get Help
Build
Build echarts source code:
Execute the instructions in the root directory of the echarts:
(Node.js is required)
# Install the dependencies from NPM:
npm install
# Rebuild source code immediately in watch mode when changing the source code.
# It opens the `./test` directory, and you may open `-cases.html` to get the list
# of all test cases.
# If you wish to create a test case, run `npm run mktest:help` to learn more.
npm run dev
# Check the correctness of TypeScript code.
npm run checktype
# If intending to build and get all types of the "production" files:
npm run release
Then the "production" files are generated in the dist directory.
Contribution
Please refer to the contributing document if you wish to debug locally or make pull requests.
Resources
Awesome ECharts
https://github.com/ecomfe/awesome-echarts
Extensions
License
ECharts is available under the Apache License V2.
Code of Conduct
Please refer to Apache Code of Conduct.
Paper
Deqing Li, Honghui Mei, Yi Shen, Shuang Su, Wenli Zhang, Junting Wang, Ming Zu, Wei Chen.
ECharts: A Declarative Framework for Rapid Construction of Web-based Visualization.
Visual Informatics, 2018.