Graph Detector Logo

Graph Detector

☕ Buy me a coffee

How to Extract Data from a Graph Image

Graph Detector lets you convert any graph or chart image into precise numerical data — no specialist software, no coding, no account required. The entire process from upload to CSV download typically takes under two minutes for a single-curve graph, and the tool is free to use as often as you need.

This guide walks you through every step of the workflow, including tips for difficult graphs, all keyboard shortcuts, and answers to the most common questions.

Before You Start

You only need two things:

Higher-resolution images give more accurate results. If your image looks blurry when zoomed in on the canvas, try sourcing a higher-resolution copy or exporting it from the original software at a larger size.

Step-by-Step Guide

  1. Upload Your Graph Image

    Click the 📤 Upload Image button in the toolbar, or drag and drop your image directly onto the canvas area. Supported formats: JPG, PNG, WebP, BMP, TIFF. The image will appear on the canvas, fitted to the available space.

    💡 Tip — Use the scroll wheel to zoom in and the Pan mode to navigate around a large image. Click ⊡ Fit at any time to reset the view.
  2. Calibrate the Axes

    Click the 📐 Calibrate Axes button in the Points Table header. The cursor changes to a precision crosshair. Follow the two-step calibration:

    • Step 1 – Origin: Click the exact point on the canvas where both axes meet (typically the bottom-left corner of the plot area). A popup appears — enter the X value and Y value shown on your axis labels at that point (e.g. X = 0, Y = 0), then click Set.
    • Step 2 – Maximum: Click the opposite corner of the plot area (typically top-right). Enter the X and Y axis values at that corner and click Set.

    A calibration box appears on the canvas showing the mapped area. You can drag the Origin or Max dots to reposition it, or fine-tune the values in the Axis Configuration panel in the sidebar. Set the X Scale or Y Scale to Log if your graph uses a logarithmic axis.

    💡 Tip — Previous calibrations are remembered automatically. If you upload another image of the same graph type, a prompt will offer to restore the last calibration.
  3. Add a Curve

    Click the ➕ Add Curve button in the Points Table header. A new curve entry appears in the Detected Curves panel on the right with an automatically assigned colour and label (e.g. Curve 1).

    • Click the coloured swatch next to the curve name to open a colour picker and match the colour to your graph's actual line colour.
    • Click the curve name to rename it (e.g. Temperature, Series A).
    • Repeat for every curve your graph contains. Use [ and ] to switch between curves from the keyboard.
  4. Add Data Points Along the Curve

    Make sure the correct curve is selected in the sidebar. Switch to Add Point mode using the mode selector in the toolbar (or press the mode button). Then click directly on the curve line in the canvas to place data points.

    • Points connect in the exact order you click them — start from one end of the curve and work towards the other for best results.
    • A live tooltip shows the real-world coordinates under your cursor as you move.
    • The Points Table below the canvas updates in real time showing the X/Y values of each placed point.
    • Right-click anywhere near a point to remove it.
    • Press Ctrl+Z to undo the last action.
    💡 Tip — Zoom in on dense or curved sections for higher precision. Fewer, well-placed points are more accurate than many hastily placed ones.
  5. Finish Adding Points and Fine-Tune

    When you have placed all points for a curve, click ✅ Finish in the Points Table header. This switches to Edit Points mode automatically.

    In Edit Points mode, click and drag any point to reposition it precisely. The canvas highlights the selected curve's points with a three-layer bullseye marker so they are easy to identify against the graph background.

    💡 Tip — Zoom in before dragging a point for pixel-level precision.
  6. Export as CSV

    Click 💾 Export CSV in the toolbar. The file downloads immediately with a name that includes your original image filename and today's date (e.g. my_chart_2026-04-05.csv).

    The CSV contains interpolated X/Y columns for every visible curve. Use the Interp. pts field on the toolbar to control how many interpolated data points are generated per curve (default: 100).

    • Open directly in Microsoft Excel or Google Sheets
    • Import into Python (pandas), MATLAB, or R
    • Use as input for finite element or simulation software
    ⚠ If no calibration has been set, a warning appears and the exported values will be raw pixel coordinates. Always calibrate first for real-world data.

Tips for Best Results

Use High-Resolution Images

Higher pixel density means you can zoom in more before points become indistinct. Export figures at 300 DPI or higher when possible.

Calibrate Carefully

All coordinate accuracy flows from your calibration. Take time to click exactly on the axis intersection points, then verify the calibration box aligns with your plot boundaries.

Zoom Before Placing Points

Scroll to zoom in on each section of the curve as you work. Placing points while zoomed in gives sub-pixel precision in the original image coordinates.

Use Undo Freely

Press Ctrl+Z to undo any point placement or edit. Curve deletion also has a 5-second Ctrl+Z undo window. Experiment without fear of losing your work.

Fewer, Better-Placed Points

For smooth curves, 20–50 well-placed points produce better interpolated results than 100 carelessly placed ones. Focus on inflection points and extrema.

Colour-Code Your Curves

Click each curve's colour swatch to match the actual line colour in the graph. The canvas highlights the selected curve's points so you always know which curve you are editing.

Keyboard Shortcuts

Shortcut Action
Scroll wheel Zoom in / out on the canvas
[ Select the previous curve in the list
] Select the next curve in the list
Ctrl+Z Undo — point edit or curve deletion
Ctrl+Y Redo last undone action
Right-click on canvas Remove the nearest data point
Esc Cancel active calibration

💡 Working with overlapping curves of similar colours? Add one curve at a time and complete all its points before moving to the next. Use the colour picker on each curve card to set a distinct colour that matches the graph, and switch between curves with [ / ] to avoid placing points on the wrong curve.

Frequently Asked Questions

What image formats can I upload?

JPG, JPEG, PNG, WebP, BMP, and TIFF. For any other format, convert to PNG first using any free image converter.

How do I handle a graph with a logarithmic axis?

During or after calibration, set the X Scale or Y Scale dropdown in the Axis Configuration sidebar panel to Log. Graph Detector applies the correct logarithmic mapping when converting pixel positions to real-world coordinates. Both axes can be log independently.

Can I extract data from more than one curve on the same graph?

Yes — click ➕ Add Curve for each curve. Select the correct curve in the sidebar before adding points. Use [ and ] to cycle through curves quickly. All curves export together in one CSV.

What if I place a point in the wrong position?

Right-click near the incorrect point to remove it, or press Ctrl+Z to undo the last placement. In Edit Points mode, drag the point to its correct position instead.

I accidentally deleted a whole curve. Can I recover it?

Yes — press Ctrl+Z within 5 seconds of deletion. A toast message appears confirming the deletion with instructions to undo. After 5 seconds the curve is permanently removed.

My calibration box does not line up with the graph axes — what should I do?

You can drag the Origin and Max dots directly on the canvas to reposition the calibration box. You can also type exact pixel positions into the Box Pixel Positions fields in the Axis Configuration panel in the sidebar for precise control.

How many data points should I use per curve?

For smooth, continuous curves 20–60 well-placed points is usually sufficient. The Interp. pts setting (default 100) then fills in the gaps between your placed points when exporting. For stepped or irregular data, place a point at every significant feature.

Can I re-use my calibration for another image of the same graph type?

Yes. Graph Detector saves your last calibration automatically. When you upload a new image, a prompt asks whether to restore it. This is especially useful when processing multiple figures from the same publication that share the same axis scale.

Explore More