# Apache ECharts

Apache-2.0 general-purpose charting with a candlestick series and nothing else financial.

*https://stockmarketstack.com/tools/echarts · JavaScript Charting Libraries for Finance*

## Facts

### At a glance

| Field | Value |
| --- | --- |
| Vendor | Apache Software Foundation |
| Category | JavaScript Charting Libraries for Finance |
| Job | charting_library |
| Website | https://echarts.apache.org |
| Pricing model | open-source |
| Free tier | true |
| Open source | true |
| Licence | Apache-2.0 |
| Self-hosted | true |
| Tested hands-on | false |
| Last updated | 2026-09-13 |

### Coverage

| Field | Value |
| --- | --- |
| Asset classes | none |
| Markets | none |
| Works outside the US | false |
| Data latency | none |
| Platforms | library |
| AI features | none |

### Interfaces

| Field | Value |
| --- | --- |
| API | false |
| Webhooks | false |
| Scripting | JavaScript/TypeScript |
| Python | false |
| Spreadsheet add-in | false |
| MCP server | false |
| Export | none |

### Capabilities

Yes: charting

No: screening, scanning, backtesting, automation, live_trading, paper_trading, portfolio_tracking, broker_import, tax_reporting, alerts, news, options_analysis

*Verified: pricing 2026-09-13; capabilities 2026-09-13; coverage 2026-09-13.*

## What it is

Apache ECharts is a general-purpose JavaScript charting library with about two dozen series
types, of which exactly one — `candlestick` — is financial. Canvas by default, SVG on request,
the switch being one import. Version 6.1.0 went to npm on 19 May 2026.

Feeding it OHLC is the first trap: a `candlestick` row is `[open, close, lowest, highest]`, not
the open-high-low-close order almost every feed returns. With a `dataset` you remap through
`encode: { y: [1, 4, 3, 2] }`, as the official examples do.

Everything a trader expects around the candles is assembly rather than configuration. A volume
pane is a second `grid` with its own axis pair at `gridIndex: 1` and a `bar` series pointed at
`xAxisIndex: 1`; a crosshair spanning both panes is `axisPointer.link`; zooming them together
means listing `xAxisIndex: [0, 1]` on each `dataZoom`. The project's own Large Scale Candlestick
example spends 133 lines of option object on exactly that, before a single indicator exists.
`dataZoom` itself is good — an `inside` variant for wheel, drag and pinch, a `slider` for the
overview bar, both windowing the axis rather than re-filtering your array.

## Pricing

Nothing is for sale, structurally rather than for now: ECharts is an Apache Software Foundation
top-level project with its own PMC, in the foundation's registry since January 2021. No pro
build, no hosted variant, no support contract; support is GitHub issues and the mailing lists.
The licence costs one thing that is not money — Apache-2.0 clause 4(d) obliges you to carry the
project's NOTICE attribution into anything you ship.

## Data & coverage

None whatsoever. ECharts makes no network request of its own and knows nothing about symbols,
sessions or exchanges — it renders arrays you hand it, as readily for rainfall as for a futures
curve.

## Integrations

`echarts` on npm, with `zrender` and `tslib` as its only runtime dependencies, plus CDN bundles
for a plain script tag. Server-side rendering is first-party and genuinely dependency-free: since
5.3.0, `init(null, null, { renderer: 'svg', ssr: true, width, height })` and `renderToSVGString()`
return markup with no headless browser involved, and since 5.5.0 a small client runtime rehydrates
that SVG without shipping the full library.

No framework wrapper is official. Vue-ECharts (8.3.0, 6 September 2026), echarts-for-react (3.0.6,
21 January 2026) and ngx-echarts (22.0.0, 11 June 2026) are MIT community projects on active but
volunteer cadences, outside the ASF and its security process.

## Limitations

- **No indicators and no drawing tools.** Zero of each, in a library whose pitch is breadth.
  `graphic` and `markLine` place static shapes; a draggable trendline and a Fibonacci retracement
  are a project of your own.
- **No symbol search, watchlist, datafeed adapter or order entry**, and no price-scale
  conventions either — no log or percentage toggle, no last-price label on the right axis, no
  session handling. Weekend gaps are dodged with a category axis of trading dates.
- **Tree-shaking buys less than you hope.** The floor is the zrender core, so candlestick-only is
  still 157 KB gzipped against 374 KB for the whole library — roughly three times what a
  purpose-built financial library costs.
- **`large: true` is on by default above 600 candles**, and the docs are explicit that in that
  mode the style of a single data item can no longer be customised.
- **No incremental append for candlesticks.** `appendData` exists, but the API reference limits
  incremental rendering to scatter and lines; live ticks mean `setOption` with the series again.
- **Defaults follow the Chinese convention** — up is red (`#eb5454`), down green (`#47b262`).
  Ship that unchanged to a Western audience and every reader misreads the chart.
- **Accessibility is opt-in**: `aria.enabled` defaults to `false`, and what it generates is a
  summary, not a navigable series.
- **Part of the issue tracker is in Chinese** — 7 of the 37 most recent open issues sampled on
  13 September 2026. Docs are fully bilingual, so this bites in bug threads, not in the handbook.

## Alternatives

[Lightweight Charts](https://stockmarketstack.com/tools/lightweight-charts) is the obvious comparison: far smaller, financial from the first line, equally
devoid of indicators. KLineChart ships indicators out of the box. [Highcharts Stock](https://stockmarketstack.com/tools/highcharts-stock) is commercially
licensed and arrives with indicators, annotations and a range selector already built. uPlot is
smaller, faster and barer still.

Pick ECharts when the trading chart is one panel in an application that already holds twenty other
charts, and one library for all of them outweighs the financial scaffolding you will write by hand.

## FAQ

### Is Apache ECharts free to use in a commercial product?

Yes. The LICENSE file in the repository is Apache-2.0 verbatim, with a subcomponents section putting four files that embed d3 code under BSD 3-Clause. The one obligation that follows you into a shipped product is the NOTICE file — Apache-2.0 clause 4(d) requires you to reproduce its attribution text in your own distribution. There is no commercial edition, no hosted service and no paid support to buy instead.

### Does Apache ECharts have built-in technical indicators?

None. Searching the 6.1.0 package for MACD, RSI, Bollinger or Ichimoku returns nothing, and the shipped chart types include no indicator series. A moving average is a second line series over numbers you computed yourself, and a trendline layer is yours to build.

### How big is a candlestick-only ECharts build?

Measured against 6.1.0 on 13 September 2026 — a tree-shaken bundle of just the candlestick series, the grid component and the canvas renderer is 460 KB minified and 157 KB gzipped. A realistic trading set that adds bars, lines, tooltip, dataZoom, axisPointer and legend is 611 KB and 207 KB. Importing the whole library is 1.11 MB and 374 KB.

### Is Apache ECharts still actively released?

Yes. The repository is not archived, the last commit on master was 12 September 2026, and 6.1.0 was published to npm on 19 May 2026 — the first feature release since 6.0.0 in July 2025.

## Also from Apache Software Foundation

- [Apache Druid](https://stockmarketstack.com/tools/druid.md)

## Also worth comparing

- [KLineChart](https://stockmarketstack.com/tools/klinechart.md) — Apache-2.0 canvas candlesticks with 27 indicators built in and zero dependencies.
- [Lightweight Charts](https://stockmarketstack.com/tools/lightweight-charts.md) — The chart and nothing else — six series types on canvas, attribution required.
- [Plotly.js](https://stockmarketstack.com/tools/plotly-js.md) — Candlestick and OHLC traces in an MIT library the notebook already has installed.
- [amCharts 5 Stock Chart](https://stockmarketstack.com/tools/amcharts-stock-chart.md) — Linkware — free in commercial products as long as the amCharts link stays on the chart.
- [AnyStock](https://stockmarketstack.com/tools/anystock.md) — Per-product, per-domain commercial licensing with a watermark until you pay.
- [Highcharts Stock](https://stockmarketstack.com/tools/highcharts-stock.md) — Commercial JS financial charting — 48 indicators, a navigator, a per-seat licence.
