No Description

Ankit Rohatgi 7440548c24 Add a contribution agreement 16 hours ago
app 76b7dbf934 Fix GPL preamble years 5 days ago
chrome 6f93acc066 Add READMEs for different parts of the code 11 months ago
docs eca4d90ae2 move manual to docs folder 1 year ago
electron b05a37471c Update electron package and make sure emscripten is not included in the final package 1 week ago
node_examples 040641f9e2 Call something meaningful 1 week ago
research 5702faf0ac Create a plot with some random markers 2 weeks ago
webserver 76b7dbf934 Fix GPL preamble years 5 days ago 7440548c24 Add a contribution agreement 16 hours ago
COPYING cfefcc0ff7 Migrate license to GNU AGPL v3 from GNU GPL v3 1 year ago 68923744c3 Update 1 month ago
screenshot.png a8aa0003e6 Reduce size of screenshot 1 year ago fca15203c2 Initial WebAssembly support (#158) 2 weeks ago


A web based tool to extract numerical data from plot images. Supports XY, Polar, Ternary diagrams and Maps. This is an opensource tool that is used by thousands and cited in over 600 published articles. Checkout for more details.

WebPlotDigitizer Screenshot


Ankit Rohatgi


WebPlotDigitizer is distributed under GNU AGPL v3.

Stable Versions

The master branch in this repository is unstable and not recommended to be used in production. To access stable releases, check out:

Development Dependencies

For an Ubuntu system, please refer to the script.

I can only help with setting up the development environment on Linux, but it should also be possible to set up Windows and MacOS systems for development.


  • See app/thirdparty folder and download the required third party libraries and dependencies.
  • A recent Java to run the javascript compiler (Google Closure Compiler).
  • Python 3 with python3-jinja2 package and python3-babel to compile the HTML templates.
  • js-beautify npm package to autoformat javascript, HTML and CSS files.

Web Server:

  • A recent Go compiler

Electron App:

  • electron-packager npm package to create packages for distributions
  • wine on Linux systems to create Windows distributins
  • Run npm install in the electron folder to fetch any other dependencies

Building the App

To build the HTML5 code, do the following (make sure you have checked out the dependencies above):

cd app

This should generate a combined-compiled.js file and several HTML files in the 'app' directory. Use the web server (see webserver folder) or Electron app (see electron folder) to host this app.

Web Server

PHP backend has now been replaced with a simple Go server. To start the server do the following:

cd webserver
cp settings.json.example settings.json
# edit settings.json as needed
go build

You can now open this WPD in your web browser.

The Go based server will be extended to include typical server side features like server-side data storage, remote APIs etc.

Electron App

To run the electron app, follow these steps:

cd electron
npm install
npm start

At the moment, this is only an basic implementation. If you are familiar with electron app development, then feel free to contribute here.

To build MacOS, Windows or Linux apps, make sure "electron-packager" is available:

npm install electron-packager -g

On a Linux development machine, you will also need "wine" to build the Windows app. To build the apps, run:

cd electron
./ # Windows, Mac and Linux
./      # Mac only

This will create apps for Mac, Windows and Linux.


If you would like to translate WPD to your language, then please email me.