Bokeh alternatives

3 tools to consider instead of Bokeh, shown against it.

Bokeh Plotly Vega-Altair Matplotlib
Vendor NumFOCUS (Bokeh) Plotly, Inc. Vega-Altair developers (University of Washington Interactive Data Lab) NumFOCUS (Matplotlib Development Team)
Pricing model Open source + paid options Open source + paid options Open source + paid options Open source + paid options
Free tier Yes Yes Yes Yes
Deployment Self-hosted Self-hosted Self-hosted Self-hosted
Open source Yes (BSD-3-Clause) Yes (MIT) Yes (BSD-3-Clause) Yes (Matplotlib License (BSD-compatible))
Best for Python developers who want interactive charts or small data apps without writing JavaScript. Analysts and developers who want interactive charts with minimal setup across Python, R, or JS. Python users who want Vega-Lite's grammar of graphics without writing JSON directly. Python users who need precise control over static, publication-quality charts.
Pricing

Free, open-source project fiscally sponsored by NumFOCUS with no pricing page.

Pricing has not been verified yet — see the vendor's site.

The charting libraries themselves are free and open source; Plotly's paid products (Dash Enterprise) are separate.

Pricing has not been verified yet — see the vendor's site.

Free, open-source library with no pricing page.

Pricing has not been verified yet — see the vendor's site.

Free, open-source project fiscally sponsored by NumFOCUS with no pricing page.

Pricing has not been verified yet — see the vendor's site.

Features
  • Interactive browser-rendered charts
  • Pan, zoom, hover, and linked-selection tools
  • Bokeh server for live Python-backed apps
  • Widgets (sliders, dropdowns) with Python callbacks
  • Standalone HTML/JS export
  • Large-dataset rendering via WebGL
  • Interactive zoom, pan, and hover tooltips out of the box
  • Statistical, scientific, financial, and 3D chart types
  • Pandas DataFrame integration
  • Consistent rendering across Python, R, and JavaScript
  • Export to standalone HTML
  • WebGL rendering for large datasets
  • Declarative, encoding-based chart API
  • Compiles to Vega-Lite JSON specs
  • Layered and faceted charts
  • Interactive selections and linked filtering
  • Direct Pandas DataFrame support
  • Inline rendering in Jupyter and VS Code
  • Object-oriented Figure/Axes API
  • Fine-grained control of every chart element
  • Publication-quality static output (PNG, SVG, PDF)
  • Wide range of plot types
  • Tight NumPy and Pandas integration
  • Inline rendering in Jupyter

In the index now