CanvasXpress vs. Datawrapper

An honest comparison of an embeddable, code-driven visualization engine and a hosted, point-and-click tool for publishing charts, maps and tables — including where Datawrapper is the better choice.

Datawrapper is a hosted web application for making and publishing charts, maps and tables without code; CanvasXpress is a visualization engine you build into your own pages, notebooks and applications. Datawrapper is widely used by newsrooms: you paste or upload data, pick a chart, annotate it, and publish a responsive embed hosted by Datawrapper, with editorial styling by default. CanvasXpress is a source-available JavaScript engine with R, Python, Julia and React interfaces, 60+ chart types including first-class scientific ones, analytics inside the chart, and a reproducible JSON specification behind every figure. It now covers the editorial publishing features too — number formats, a structured source footer, callouts and direct labels, an editorial theme with mobile rules, arrow and range plots, election donuts, classed choropleths, tables with in-cell bars and sparklines, alt text, and vector PDF — and its self-hosted dashboards add a data-first wizard and publish-and-embed. Choose Datawrapper for the fastest no-code route from a spreadsheet to a published newsroom chart. Choose CanvasXpress when the chart has to live inside your own product or pipeline, be reproducible from code, stay on your own servers, or show scientific data.

Editorial features CanvasXpress has today

Before comparing, here is what already exists in CanvasXpress for the publishing work Datawrapper is known for, with the option that turns it on. Everything below is off by default, so existing charts do not change.

Publishing needIn CanvasXpressHow
Readable numbers (1.2M, 45%, $1,234, locale separators)YesnumberFormat, per axis, label and tooltip
Source line, notes, byline, “Get the data”Yesnotes, source + sourceUrl, byline, showDataDownload — see Chart Footer
Annotations with arrows; direct line labels instead of a legendYesdecorations.marker callouts (straight or curved, drag to place); showLineEndLabels
Editorial look and mobile layoutsYestheme: "editorial"; responsiveRules move or hide the legend and resize text by width
Arrow plots, range plots, dot plots, split bars, slope charts, small multiplesYesgraphType: "Dumbbell" (dumbbellArrowDirection), Dotplot, Bar, Line, segregateVariablesBy
Election donut and parliament chartYespieShape: "half"; pieType: "parliament"
Choropleths with classes (natural breaks, quantiles); symbol and region-label mapsYesgraphType: "Map" + colorSpectrumBreaksMethod (jenks, quantile, equalWidth), stepped legend, showMapLabels, bubbles with sizeBy; tile maps via Leaflet
Tables with bars, sparklines and heat coloursYesview: "table" + dataTableColRenderer, dataTableColored, per-column number formats
Alt text for screen readersYesa11yDescription (otherwise a generated summary); WCAG 2.1 AA report on the Accessibility page
PNG, SVG and PDF downloadsYesFile menu; the PDF is vector and tagged, and every export carries the chart’s data so it can be reloaded — see Export to PDF
Paste data, get suggested charts, publish an embedYes, in the self-hosted dashboardsData-first wizard; share links; auto-resizing iframe, <cxd-embed> web component and PNG fallback; organisation brand lock

At-a-glance comparison

DimensionCanvasXpressDatawrapper
CategoryEmbeddable visualization engine (library) plus a self-hostable dashboard platformHosted web application for publishing charts, maps and tables
Primary userDevelopers, data scientists, bioinformaticians; no-code Customizer and dashboard wizard for non-programmersJournalists, editors and communications teams
AuthoringJSON specification from code (JavaScript, R, Python, Julia, React) or the in-chart CustomizerStep-by-step browser workflow: data, check, visualize, publish
Hosting and data locationRuns in your page with no server; dashboards self-hosted on your infrastructure. Data never has to leave itCharts and their data are stored and served by Datawrapper
PublishingEmbed the engine anywhere; or publish from the dashboards server (stable URL, iframe, web component, PNG fallback)One-click publish to a responsive embed served from Datawrapper’s CDN
Chart range60+ types, including heatmaps, Oncoprint, genome browsers, networks, dendrograms, volcano and survival plotsFocused set for editorial use: lines, bars and columns, arrow, range and dot plots, scatter, area, pie and donut, election donut, tables and maps
Analysis in the chartClustering, regression and LOESS fits, statistics, transforms, filtering, forecastingPresentation-focused; analysis happens before the data is uploaded
ReproducibilityEvery chart is a portable JSON spec with a replayable action history; the data travels inside exported PNG, SVG and PDF filesCharts live in the Datawrapper account; duplication and an API are available
License and costSource-available; free to use, including commercially, while the attribution mark stays visible; a commercial license removes it. Dashboards package MITCommercial service with a free tier; paid plans add features such as custom themes, team management and additional exports
Best fitCharts inside your own product or pipeline, reproducible or regulated work, scientific data, self-hostingFast, polished charts for news articles and reports, made by non-programmers

Feature deep-dives

Workflow: guided app versus engine

Datawrapper’s strength is its workflow: a guided sequence from pasted data to a published chart, with sensible editorial defaults at every step, so a reporter on deadline needs no design or coding decisions. CanvasXpress starts from the other end: one JSON specification describes the chart, and the same specification renders from JavaScript, R, Python or Julia, in a notebook, a Shiny or Dash app, or a static page. Its in-chart Customizer and the dashboards wizard give non-programmers a point-and-click route, but the engine’s centre of gravity is code, which is what makes it scriptable, testable and repeatable.

The editorial details

The details that make a newsroom chart readable now exist in CanvasXpress, each behind one option: compact, currency and percent number formats with locale separators; a footer with notes, a linked source, a byline and a “Get the data” CSV link that every PNG, SVG and PDF export keeps; annotation callouts with curved arrows; series names at the end of each line instead of a legend; an editorial theme; and responsive rules that move the legend and shrink text on a phone. Datawrapper applies most of these by default, which is the difference that matters day to day: in Datawrapper the polished result is the starting point, while in CanvasXpress you opt in with theme: "editorial" and a few options.

Maps

Both make choropleths, symbol maps and labelled region maps. CanvasXpress classifies values with natural breaks (Jenks), quantiles or equal widths and draws a stepped legend whose classes match the fills exactly; it ships continent, country, US state and zip-code geographies, accepts any TopoJSON, and adds tile maps through Leaflet. Datawrapper’s map product is broader for newsroom work: a large library of ready-made basemaps for regions around the world, and locator maps designed for showing where a story happened.

Tables

A CanvasXpress table view is searchable, sortable and paginated; columns can show in-cell bars (with a zero baseline for negative values), heat colours, sparklines drawn from other columns of the row, and per-column number formats. Datawrapper tables are a mature, dedicated product with mobile layouts and a wide set of cell styles; for a table that is the whole story, they are more polished.

Publishing and embedding

Datawrapper publishes to its own CDN and gives you an embed code; the chart stays in your Datawrapper account. CanvasXpress needs no publishing step when the chart lives in your own page: the engine renders it client-side. When you do want a stable link, the self-hosted canvasxpress-dashboards server publishes a dashboard or a single chart and generates an auto-resizing iframe, a <cxd-embed> web component and a PNG fallback for RSS and email, all on your own infrastructure, with an organisation brand lock applied to every shared view.

Exports and reproducibility

CanvasXpress downloads PNG (at higher resolution if you ask), SVG and vector PDF. The PDF is written by the engine itself: lines stay sharp, text is selectable, and the file is tagged so screen readers announce the chart’s alt text. Every export carries the chart’s data and configuration inside it, so dropping the file back onto a chart restores the interactive version. That, and the replayable history of every change, is what CanvasXpress is built around; Datawrapper keeps the editable chart in its own application.

Scientific and analytical charts

This is where the two tools part ways completely. CanvasXpress was built for biomedical research: clustered heatmaps with dendrograms, Oncoprint, genome tracks, networks, volcano and survival plots, and statistics computed inside the chart. Datawrapper deliberately focuses on the chart types a general readership understands.

Where Datawrapper is the better choice

  • Speed for non-programmers. Pasting a spreadsheet and publishing a polished chart takes minutes, with no setup and no code. The CanvasXpress wizard is newer and lives in a self-hosted server you have to run.
  • Defaults. Datawrapper’s charts look editorial without any decisions; CanvasXpress gets there with the editorial theme and a few options, but you have to know to ask.
  • Managed hosting. Publishing, the CDN and uptime are Datawrapper’s job, not yours.
  • Maps for news. A large library of basemaps and dedicated locator maps.
  • Newsroom track record. Datawrapper is proven at large newsrooms, with team features and support built for them.
  • Text in any script. CanvasXpress’s PDF export uses the standard PDF fonts, so characters such as Chinese or Japanese print as “?” there; use its SVG or PNG export for those charts.

When to choose each

Choose Datawrapper when non-programmers need to publish clean charts, maps and tables for articles and reports quickly, and hosting the charts and their data with a third party is acceptable.

Choose CanvasXpress when charts must live inside your own product, notebook or R/Python pipeline; when they must be reproducible from code or carry their data with them; when data cannot leave your infrastructure; or when the content is scientific. Add canvasxpress-dashboards when you also want no-code authoring and publish-and-embed on your own servers.

Frequently asked questions

Can CanvasXpress make Datawrapper-style charts?

Yes. Arrow plots, range plots, split bars, election donuts, classed choropleths, tables with bars and sparklines, callouts, direct line labels, a source footer and readable number formats are all built in. Set theme: "editorial" for the publication look.

Do I need a server to publish a CanvasXpress chart?

No. The engine renders in the browser, so a chart in your own page needs nothing else. The optional, self-hosted dashboards server adds share links and embed codes.

Can I export a CanvasXpress chart for print?

Yes: vector PDF and SVG, or PNG at higher resolution, from the File menu or savePDF() / saveSVG(). The PDF is tagged with the chart’s alt text and carries the chart’s data.

Is CanvasXpress free?

It is source-available and free to use, including commercially, as long as the attribution mark stays visible; a commercial license removes it — see the license. The dashboards package is MIT.

When is Datawrapper the better choice?

When reporters and editors need to publish polished charts, maps and tables quickly without code, and managed hosting by a third party suits them.

Try it

Every example on this site runs live in the browser. Start with the editorial charts page, the chart footer, the examples gallery or the quick start, or see the full comparison hub.

⇧