data

Graph Digitizer

Calibrate graph axes, extract and repair XY data from images or PDF pages, and export the reviewed values as CSV.

Local processing
About your filesFiles and content selected in this tool are processed in your browser and are not uploaded to a Browser Kitty backend.
Operation demo See the basic workflow in a short video.

About this tool

Graph Digitizer extracts reusable numeric XY values from plots embedded in papers, reports, screenshots, or PDFs. Calibrate the axes from known tick values, then digitize points manually or detect colored curves and visible data markers.

Automatic results are reviewed before export through a source overlay, a graph redrawn from the extracted numbers, review flags, and a coordinate table. Long jobs can be saved as .graphdigitizer.json and the final data exported locally as CSV.

Good for

  • Recover XY data from graph images in papers or reports and export it to CSV
  • Crop a graph from a PDF page and digitize its values
  • Turn an old plotted curve back into reusable numeric data for analysis
  • Separate colored series, auto-trace them, and manually repair inaccurate points
  • Extract the centers of visible circle or square markers from a line chart
  • Read numeric values from graphs with linear or logarithmic axes

What it can do

Key capabilities available in this tool.

How to use

  1. Add a graph image or open a PDF, select the page, and crop the graph area when necessary.
  2. Choose Linear or log10 for each axis, place X1, X2, Y1, and Y2 on known ticks, and enter the corresponding numeric values.
  3. For manual digitizing, click the graph to add points and refine them by dragging or with the loupe-assisted 1-pixel repair view.
  4. For automatic extraction, choose Curve for a normal colored line or Marker for visible circles/squares, then set color, range, tolerance, and related options.
  5. Preview the detected result, remove false detections, and only then apply it to the series. Long missing sections remain separate segments rather than being silently interpolated.
  6. Review flagged points, segment breaks, source overlay, redrawn graph, and coordinate table, then repair any inaccurate points.
  7. Save long-running work as .graphdigitizer.json so it can be validated and restored later.
  8. Choose the target series and CSV format, inspect or copy the actual CSV text, and save it locally.

Supported

  • Image input: PNG / JPEG / WebP via picker, drag and drop, or clipboard paste. Limit: 20 MiB and 16 million decoded pixels.
  • PDF input: up to 80 MiB with page selection and cropping; the rasterized working page is capped at 16 million pixels. Password-protected PDFs are unsupported.
  • Calibration: Linear / log10 independently for X and Y, reversed numeric directions, and mildly rotated straight XY axes.
  • Extraction: manual points, color-based curve tracing, and visible circle/square-style marker-center detection with multiple series and segments.
  • Repair: drag points, use the loupe, move 1 px / 10 px with the keyboard, Undo / Redo, and exclude false detections.
  • Project save: .graphdigitizer.json format v1 stores working image, calibration, series, segments, extracted points, trace settings, and CSV settings; the original source PDF itself is not embedded.
  • CSV: standard series,segment,x,y or simplified x,y for a single series/segment, with preview and copy before saving.
  • Runtime networking: PDF.js 6.3.289, worker, and required WASM are embedded. CSP uses connect-src none, and selected images/PDFs/projects or extracted coordinates are not uploaded to an app server.

Limitations and notes

  • The primary target is an ordinary XY plot where each X position corresponds to approximately one Y value.
  • Bar charts, histograms, polar / ternary / 3D plots, filled-area interpretation, and general-purpose chart OCR are not supported.
  • Perspective distortion, lens distortion, curved paper, and non-straight axes are not corrected automatically.
  • Marker mode extracts point centers but does not OCR category labels such as month names into CSV values.
  • Auto-tracing depends on visible color and shape separation; crossings, heavy grids, JPEG noise, low resolution, overlapping series, or similar colors can require manual repair.
  • Long missing curve sections are not silently interpolated and remain separate segments.
  • Extracted numbers are estimates derived from image positions and cannot restore measurement precision absent from the source graphic.
  • Project files are limited to 96 MiB. Large images or complex PDFs can use substantial device memory, and browser/device limits still apply.

Frequently asked questions

Can I extract numeric data from a graph image?

Yes. Calibrate the X/Y axes from known tick values, then add points manually or detect colored curves or visible markers, review the result, and export CSV.

Can I digitize a graph from a PDF?

Yes. Open the PDF, choose a page, and optionally crop the graph area into the working image. Password-protected PDFs are not supported in v1.0.0.

Does it support logarithmic axes?

Yes. X and Y can independently use Linear or log10 calibration based on four known axis points.

Can it extract only the visible circles or squares on a plotted line?

Yes. Marker mode detects visible marker centers instead of densely sampling the connecting line, and false detections can be removed in preview.

Is an auto-traced result saved without review?

No. Automatic detection is previewed first, and flagged points, segment breaks, source overlay, and a redrawn graph can be reviewed and repaired before CSV export.

Can I save a project and continue later?

Yes. Save a .graphdigitizer.json project containing the working image, calibration, series, extracted points, and settings. The original PDF itself is not embedded.

Can it digitize bar charts or other chart types?

v1.0.0 is primarily for ordinary XY plots. Bar charts, histograms, polar/ternary/3D plots, and general chart OCR are outside its supported scope.

Are graph images, PDFs, or extracted values uploaded to a server?

No. The hosted version loads the app HTML initially, but image/PDF processing, calibration, tracing, project handling, and CSV generation run locally in the browser.

Offline version and source code

The standalone HTML embeds PDF.js, its worker, and required WASM and runs with connect-src none. Open the verified generated HTML locally to load images/PDFs, calibrate, digitize, and generate CSV without network access.

View source on GitHub