Apache ECharts: Interactive JavaScript Charts
Apache ECharts is a free JavaScript charting library from the Apache Software Foundation, built on its own canvas engine, zrender, instead of wrapping another project's renderer. It's licensed Apache-2.0, with no separate commercial tier. Reach for it when you need many interactive chart types in a browser app; skip it if you only need one or two simple charts and don't want the Option Manual's full configuration surface.
Understanding Apache ECharts
Apache ECharts is an open-source charting and data visualization library for the browser, released under the Apache Software Foundation. It's written in pure JavaScript and draws through zrender, a canvas library built for the project rather than borrowed from elsewhere. The GitHub topics list both canvas and SVG as rendering targets, and the README aims it at teams adding charts to commercial products.
Core features for data visualization
- โBuilt on zrender, a canvas rendering library developed alongside ECharts rather than borrowed from another project.
- โLists both canvas and SVG as rendering targets in the repo's own GitHub topics.
- โECharts GL adds WebGL acceleration plus 3D plots and globe-style visualization, as a separate extension pack.
- โLiquidfill and Wordcloud extensions cover water-fill gauges and word-cloud charts beyond the core chart types.
- โvue-echarts wraps the library as a ready-made Vue.js component.
- โecharts-stat adds statistics helpers, and a Baidu Map extension wraps Baidu's map SDK for geo charts.
- โShips as an npm package, a jsDelivr CDN build, or a direct download from the official site.
Installing and integrating ECharts
Apache ECharts ships three ready-to-use forms per the README: a download from the official website, the `echarts` package via `npm install echarts --save`, or a build pulled from the jsDelivr CDN. Building the library itself from source is a separate path: clone the repo, run `npm install`, then `npm run dev` for a watch-mode rebuild that opens the `./test` directory of test cases, `npm run checktype` to check the TypeScript, or `npm run release` to produce the production files in `dist`. Node.js is required for any of the source-build commands.
Learning and using ECharts
The README doesn't include an inline code snippet for wiring up a chart. It instead defers to four linked docs pages: a Get Started handbook, an API reference, an Option Manual describing the configuration object charts are built from, and a live Examples gallery. Treat those four pages as the real onboarding path; the repo's front page is a pointer to them, not a tutorial itself.
Strengths
- โApache-2.0 licensing with no paid tier gating advanced chart types.
- โOwns its own rendering stack: zrender is built and maintained alongside ECharts rather than pulled in from a third-party renderer.
- โA documented extension ecosystem: ECharts GL for 3D/WebGL, Liquidfill, Wordcloud, a Baidu Map wrapper, vue-echarts, and echarts-stat.
- โThree install paths (npm, CDN, direct download) cover both bundler-based and plain script-tag projects.
- โMultiple support channels in the README: GitHub Issues, a mailing list, and a dedicated support email.
Considerations for ECharts adoption
- โณNo inline install-and-render code sample lives in the README itself, so you're routed straight to the external handbook and Option Manual to learn the API.
- โณ3D visualization, water-fill gauges, word clouds, and the Baidu Map wrapper are separate extension packages with their own repos, not bundled into the base `echarts` install.
- โณThe documented build process only covers a Node.js source build; there's no documented no-build or lightweight setup beyond dropping in the CDN script.
- โณNo version number, release date, or changelog entry appears in the facts available here, so there's no way to say which release the star and fork counts reflect.
Alternatives to ECharts
ECharts frequently asked questions
Apache ECharts is free for commercial use. The README states it's released under the Apache License V2, listed on GitHub as Apache-2.0, a permissive license with no royalty or paid tier.
Apache ECharts is coded entirely in JavaScript and renders through zrender, a canvas library built alongside it. The project's GitHub topics also list SVG, so both canvas and SVG show up as supported rendering targets.
Apache ECharts can be extended through separate packages listed in the README's Resources section: ECharts GL for WebGL acceleration, 3D plots, and globe-style visualization; Liquidfill for water-fill charts; Wordcloud for word clouds; a Baidu Map wrapper; vue-echarts for Vue.js; and echarts-stat for statistics helpers.
Apache ECharts links four docs resources from its README: a Get Started handbook, an API reference, an Option Manual for the chart configuration object, and a live Examples gallery.
Apache ECharts is released under the Apache License V2, shown on GitHub as the Apache-2.0 license.
Apache ECharts asks contributors to read its CONTRIBUTING.md document for guidance on debugging locally and opening pull requests, follow the Apache Code of Conduct, and use GitHub Issues for bugs or feature requests. A mailing list and the [email protected] address are open for general questions.
The problem it solves
Teams that embed charts into a commercial web product usually end up wrapping some other project's rendering engine and inheriting its licensing terms along with it. Apache ECharts' README frames the project around avoiding that: it's built on zrender, a canvas library developed alongside the charting layer rather than borrowed from elsewhere, and the whole thing ships under Apache-2.0 so it can go into a commercial product without a separate license negotiation.
Best use cases
- โขEmbedding interactive charts into a commercial web product under a permissive Apache-2.0 license.
- โข3D plots or globe visualization work, using the ECharts GL extension pack for WebGL acceleration.
- โขVue.js apps that want a drop-in chart component via vue-echarts instead of wiring the core library by hand.
- โขSpecialty chart types like word clouds or liquid-fill gauges through the Wordcloud and Liquidfill extensions.
Who should try it โ and who should skip
Try Apache ECharts if you're shipping a commercial web product that needs a wide range of interactive chart types and you want a permissively licensed library that owns its rendering stack rather than wrapping someone else's. Skip it if you only need one or two simple charts, since you'll be routed through the Option Manual's configuration surface for something a smaller library could do with less setup.
Related repositories
Want a second opinion on echarts?
Ask an AI that can read this page โ one click and you get its take on echarts.
