RAWGraphs app: browser-only SVG charts from spreadsheet data, and what running your own copy involves
A web interface to create custom vector-based visualizations on top of RAWGraphs core
At a glance
- What is it?
- rawgraphs-app is the React and Vite front end behind app.rawgraphs.io. It turns pasted or tabular data into d3-based SVG charts without sending the data to a server, but it leaves storage, final polish and chart authoring to other tools and packages.
- Who is it for?
- Use RAWGraphs if you are a designer or analyst who wants SVG charts from a spreadsheet, plans to finish them in Inkscape or Illustrator, and cannot send sensitive data to a server. Skip it if you need saved projects on a server, live dashboards or an all-in-one editor.
- Can I use it commercially?
- Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 37 days ago.
- What is it written in?
- Mainly JavaScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on November 14, 2026, and from our analysis. They are not legal advice.
Star history
- rawgraphs/rawgraphs-app9,058 ★ · +26
| Repository | 2026-09-22 | 2026-11-14 |
|---|---|---|
| rawgraphs/rawgraphs-app | 9k | 9.1k |
26 Stars in the last 53 days, measured from the daily GitHub snapshot. Compare with other projects
Editorial analysis
Your data never leaves the browser tab, and neither does your work
The central promise of RAWGraphs is that data injected into the app is processed only by the web browser, with no server-side operations or storage. The project frames this around sensitive information: no one on the RAWGraphs side sees, touches or copies what you paste in. That holds for the public instance at app.rawgraphs.io and for any copy you build and host yourself, because the app is a static front end.
The same design sets a hard limit. Since nothing is stored server side, there is no account, no project library on a server and no shared link that a colleague can open to see your chart in progress. Whatever you want to keep has to leave the tab with you, as an exported SVG or as the original spreadsheet you started from. Teams that expect a hosted workspace with history and permissions will have to build that around RAWGraphs, not inside it. For a newsroom handling embargoed figures or a researcher with confidential survey data, the trade is attractive. For a team that wants one shared place where charts live, it is the wrong shape of tool.
SVG out, with the finishing done in Inkscape or Illustrator
RAWGraphs is built on d3.js and describes itself as the missing link between spreadsheet applications such as LibreOffice Calc, Microsoft Excel, Apple Numbers and Google Docs, and vector graphics editors such as Inkscape and Adobe Illustrator. Input is tabular data, for example spreadsheets and comma-separated values, or text copied and pasted from another application. Output is SVG, which you can either refine in a vector editor or embed directly into a web page.
That positioning tells you what not to expect. RAWGraphs is a chart generator, not a layout or illustration tool. Annotations, typographic polish, brand styling beyond what a chart offers and multi-chart compositions are meant to happen after export, in a separate application. If your workflow ends in a slide deck or a printed report and nobody on the team uses a vector editor, you will be shipping the raw SVG as it comes out of the browser, and the project was primarily conceived for designers and vis geeks who will keep working on it. The upside is that SVG keeps every mark editable, so nothing is flattened to pixels before a designer gets to it.
Running a local copy means four commands on top of Vite
The hosted app is the easiest route, and the project calls it the most updated version. Running your own instance needs Git and Node.js, with an LTS release recommended and npm shipping alongside it. The install guide is written for intermediate users and is headed Instructions (macOS); there is no separate Windows or Linux walkthrough in that section, so users on other systems have to translate the steps themselves.
git clone https://github.com/rawgraphs/rawgraphs-app.gitcd rawgraphs-appnpm installnpm startIn package.json, start and dev both run vite, so npm start launches the Vite development server rather than any production server. For your own deployment the project points to a build you upload to a server:
npm run buildThat script runs vite build. package.json also defines a preview script that runs vite preview, and a format script that runs prettier --write src. The dev dependencies are vite ^7.3.6, @vitejs/plugin-react ^4.7.0, vite-plugin-svgr ^5.2.0, sass ^1.63.6 and prettier ^2.1.2. Because the result is static files, there is no database or backend process to operate after the upload.
Tagged releases stop at v2.0.1 while master reports 2.1.0
The release history and the code on the default branch tell two different stories. The most recent GitHub releases are v2.0.1 on 2024-01-26, v2.0.0-beta.11 on 2021-10-18 and v2.0.0-beta.10 on 2021-06-04. Meanwhile package.json on master declares version 2.1.0, and the last push to the repository landed on 2026-10-08. The repository is not archived.
The consequence for anyone self-hosting is that there is no tagged release matching what is on master. Cloning the default branch, which is what the install steps do, gives you whatever was pushed most recently, not a version someone stamped as stable. If you need a reproducible deployment, pin a specific commit or check out the v2.0.1 tag deliberately, and read CHANGELOG.md before choosing. The top level also contains a file named RAWGraphs-modernization-report.md next to vite.config.js; read it before assuming the 2024 release builds the same way as master does today. The license header still carries a copyright range of 2013 to 2021.
Chart types come from separate @rawgraphs packages
This repository is the interface. The chart logic sits in npm packages it depends on: @rawgraphs/rawgraphs-core at ^1.0.0, @rawgraphs/rawgraphs-charts at ^1.1.0, and @rawgraphs/rawgraphs-calendar-heatmap at ^v1.0.0-beta.8, which is still a beta version range. d3 is pulled in at ^7.2.0, with overrides forcing d3-color ^3.1.0, d3-selection ^3.0.0 and d3-transition ^3.0.1.
RAWGraphs advertises that it accepts new custom layouts defined by users, and sends people to a Developer Guide for adding or editing layouts. That link points to the wiki of the rawgraphs/raw repository, not to this one. If you plan to write your own chart, the practical question is whether that guide still matches the package split above, with core and charts published separately from the app. Check the guide against the current rawgraphs-core and rawgraphs-charts packages before you commit time to a layout, because a mismatch would mean reading package source instead of following instructions. A fork that only changes chart behaviour may also be better aimed at the charts package than at this front end.
Pinned canary and SPARQL packages in the front end
The rest of the dependency list matters if you intend to fork or patch the interface. React and react-dom are at ^18.3.1, but the UI kit is older: react-bootstrap ^1.5.0 on top of bootstrap ^4.5.0, with react-icons ^3.10.0 and react-dropzone ^11.0.3 for file drops. The data grid is react-data-grid pinned exactly to 7.0.0-canary.16, a pre-release build, and react-color is pinned exactly to 2.17.3. Drag and drop uses react-dnd and react-dnd-html5-backend at ^16.0.1.
Exact pins on a canary grid mean upgrading that table component is a deliberate job, not a routine npm update, and a fork that wants newer React tooling around it inherits that constraint.
The list also carries a group of RDF and SPARQL packages: sparqljs pinned to 3.5.1, sparql-http-client ^2.4.0, @rdfjs-elements/sparql-editor ^0.1.6 and rdf-literal ^1.2.0. The Usage section of the README only covers the hosted app and the local install, so if querying a SPARQL endpoint is your reason for choosing RAWGraphs, open the app and confirm the feature exists and behaves as you need before planning around it. The list also includes react-cookie-consent ^10.0.2 and typeface-inter ^3.12.0.
Contributing requires a signed CLA
RAWGraphs was developed by DensityDesign Research Lab at Politecnico di Milano, Calibro and INMAGIK, and is released under the Apache License 2.0. Contributions follow a fork, clone and install flow using the same commands as a local install, with discussion through GitHub issues and pull requests. Before a contribution is accepted you have to sign a Contributor License Agreement; the project says it adopted the CLA to make sure RAWGraphs remains open source, and questions about it go to [email protected].
For some contributors, especially those whose employer reviews any agreement that touches intellectual property, the CLA is the real barrier rather than the code. Factor in that approval time before promising a fix upstream; until it is signed, your change can only live in your own fork. There is also a CONTRIBUTING.md at the repository root and a Google group, densitydesign-raw, listed as a community channel. Academic users are asked to cite the CHItaly 2017 paper, RAWGraphs: A Visualisation Platform to Create Open Outputs, by Mauri, Elli, Caviglia, Uboldi and Azzi, which is available in Green Open Access through rawgraphs.io.
Editorial conclusion
Use RAWGraphs if you are a designer or analyst who wants SVG charts from a spreadsheet, plans to finish them in Inkscape or Illustrator, and cannot send sensitive data to a server. Skip it if you need saved projects on a server, live dashboards or an all-in-one editor. Before self-hosting or forking, check that the master branch (package version 2.1.0) behaves as you expect, since the last tagged release is v2.0.1 from January 2024, and confirm the custom layout guide on the rawgraphs/raw wiki still matches the current @rawgraphs packages.
Frequently asked questions
Is RAWGraphs free?
RAWGraphs is released under the Apache License 2.0 and presents itself as an open web tool. You can use the hosted version at app.rawgraphs.io or run your own copy with npm install and npm start.
Is RAWGraphs the best free graph app?
RAWGraphs fits a specific job: turning spreadsheet or pasted tabular data into SVG charts that you then refine in Inkscape or Illustrator or embed in a web page. It processes data only in the browser, which suits sensitive data, but it keeps no projects on a server.
Where does RAWGraphs sit among free data visualization tools?
RAWGraphs is a d3.js-based web tool aimed at designers and vis geeks, positioned between spreadsheet applications like Excel or LibreOffice Calc and vector editors. Its code is Apache-2.0 and it can be self-hosted as a static Vite build.
Is RAWGraphs a good program to create graphs?
RAWGraphs is a good match when you want editable vector output from tabular data and plan to finish the chart in a vector graphics editor. If you need a full layout or illustration tool, you will still need Inkscape, Illustrator or similar after export.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/rawgraphs-rawgraphs-app)Star history chart for your README
[](https://hysenlabs.com/projects/rawgraphs-rawgraphs-app)Was this useful?