Plot Digitizer

Open a chart as a picture or a PDF page; the page finds its axes and proposes two points on each, on the outermost tick marks, for you to type their values (or you place them), and you take the points: by clicking, or by the colour of the curve with a legend left out. The points are drawn back over the chart so you can check them, and the CSV gives each value only as finely as one pixel of the picture allows. It all runs in your browser: the chart is not uploaded.

Plot Digitizer

or drop it here. The file stays on this device.

How it works

  1. Choose a chart picture or a PDF; for a PDF, pick the page. The chart appears with zoom buttons; the arrow keys and Enter work on it too.
  2. The page looks for the axes and puts X1 and X2 on the outermost tick marks of the X axis and Y1 and Y2 on those of the Y axis; type the value at each (move a point with its Place button, or place all four yourself where no axes are found), choose linear or logarithmic for each axis and press Use these axes.
  3. Take the points: click them one by one, or pick the curve's colour, drag areas to leave out (a legend) and press Find the points of this colour. Check the points drawn over the chart, remove wrong ones, then press Download the data.

Questions

How exact are the values?

As exact as the picture: every position is taken to the centre of one of its pixels, and the CSV rounds each value to what one pixel stands for at that place on the chart. The page says how much that is for your chart. Zooming in shows the pixels larger but does not make the values more exact, and neither does enlarging a small picture before opening it. For a PDF page, 300 dpi gives finer pixels than 150 dpi.

Why two points on each axis?

Two known values fix an axis: where it starts and how fast it grows. The page takes grid lines as parallel to the axes, so a chart that is photographed at a slant or slightly rotated still reads correctly. It refuses points that cannot define axes: two points closer than 2 pixels, the same value twice, or X and Y points along one line.

How does the page find the axes?

It looks for the lowest straight level line, grey, black or white and clearly apart from the background, that spans at least 40% of the picture's width (the X axis), the leftmost upright one that spans 40% of its height (the Y axis), and the short marks, 2 to 15 pixels long, that leave each one at a right angle (the tick marks). It puts X1 and X2 on the outermost tick marks of the X axis and Y1 and Y2 on those of the Y axis; you type the values written there, and you can move any point. It does not find axes that are faint, drawn in colour or tilted by more than a fraction of a degree, or an axis with fewer than two tick marks: the page then says so and you place the four points. Find the axes again puts the four proposed points back.

Do logarithmic axes work?

Yes. Choose Logarithmic for that axis and the values are spread by powers of ten, not in a straight line: halfway between 1 and 100 reads 10. A logarithmic axis cannot hold 0 or a negative number, so a point typed with such a value is refused before anything is read. It holds values from about 2.2e-308, the smallest number the page holds to full precision: a value typed below that is refused too, and a point read below it shows a dash, and no CSV is made while it is there, as with a point past the largest number (about 1.8e308).

How does finding points by colour work?

Pick the curve's colour by clicking on the curve. In every column of pixels (or every few columns) the page looks for pixels of that colour within the tolerance and takes the middle of each run as a point. Leave out areas where the same colour appears for other reasons, such as the legend or a label, and limit the search to an area if the axes or grid share the colour. Where the colour appears more than once in a column, as where two curves of the same colour cross, the page cannot tell which belongs to the curve: it takes the one closest to the previous point and marks it for checking.

What are the points marked for checking?

Points found by colour in a column where the curve could not be told apart from something else of the same colour. They are drawn as orange rings, listed with check in the table, and the CSV has yes in its check column, so you can correct them or leave them out. Nothing is guessed silently.

What does resampling do?

It makes values at even x steps from the straight lines between your points, for a series you want at regular intervals. They are a separate list, drawn as a dotted line and marked as resampled in the CSV; the points you took are never changed or replaced. On a logarithmic axis the steps are even in powers of ten.

What is the project file for?

It records where the data came from (the file name, its SHA-256, the page and resolution of a PDF), the axis points with every calibration you applied, the areas left out and every series in pixels. Open it again on the same chart to go on where you stopped; it refuses a different picture.

What does it not do?

It finds clear axes and their tick marks, but the values at them are always typed by you, and the colour search needs a picked colour. It does not smooth or fit curves, read bar or pie charts as whole shapes, read the text of the chart, or keep your work anywhere but in the files you download.

Does it work offline?

For pictures, yes: once the page has loaded, nothing more is fetched while you work. For a PDF the page loads its PDF reader (pdf.js, from this site, not from a third party) the first time a PDF is chosen, so open one PDF while online before going offline. In both cases the chart itself is never sent anywhere.

Is my file uploaded?

No. The page loads a small script into your browser and every operation runs on your device. You can check this yourself in the browser's network panel: after the page has loaded there are no upload requests. Closing the tab discards the file.

Do I need an account or to pay?

No. These basic tools are free and store nothing on our servers. The only limits are the tool's own: files up to 50 MB; pictures and drawn pages up to 40 megapixels; one chart page at a time. Within them, the practical limit is your device's memory.

What does this page keep in my browser?

Nothing you open or type. While the tab is open, the tool pages keep a short list of the steps taken in it, in the tab's session storage: the step (page opened, started, succeeded, first success, used again or failed), the tool's name, the time, how many files were used and, for a failure, an error code; never a file name, the contents of a file or your text. It holds at most the latest 200 steps, and the browser deletes it when the tab closes. The page never sends it. Where a Report a problem button is shown, you can attach the last 20 steps to your report; nothing is attached unless you tick that box. In local storage the page keeps only choices you made: a Light or Dark theme until you choose System again, the language you picked with the EN / 中文 switch if it differs from your browser's language, and this tool in your recently used list if you switched that list on at the tools page.

Questions or problems

Found a problem or missing feature? Tell us. Please describe the steps; do not send confidential data.