04 / CAPTURE TO TABLE

Convert a captured image into a table

Open converter on its own ↗

Upload a table or graph capture, or paste an image while this section is focused. Images are processed in your browser. Review the result against the image before exporting it.

How to use this converter — step by step

Start with a screenshot or saved image. Open the source PDF or webpage and zoom until its numbers are readable. On Windows, press Windows + Shift + S and drag around the table or graph. Include headings and units; for a graph, include the axis numbers. This copies a capture to your clipboard. You can also use an existing PNG, JPEG or WebP file.

Choose the matching workflow below. A printed table already contains numbers. A graph needs axis calibration and curve points that you mark yourself.

Printed table image → editable rows and columns: 6 steps
  1. Choose the mode. Set Conversion mode below to Printed table → editable cells (OCR).
  2. Load your capture. Use Captured image to choose a file, or click the large image-preview box below and press Ctrl + V to paste. Use the ↶ 90° / ↷ 90° arrows for sideways text, then the ↶ Fine / ↷ Fine arrows or angle slider to straighten it against the blue guides. Click Use alignment → Define plot / table area when satisfied. Enter the source title and URL/page/figure in the source fields.
  3. Select the table area. Click Select plot / table region, then click the table's upper-left corner and its lower-right corner in the preview. The dashed green rectangle should enclose the headings, cells and units. Use Use entire image region only if the image already contains just the table. Rotating later clears the selection; define the area again after realigning.
  4. Read the table. Scroll below the preview and click Recognize table image. Wait for OCR complete. The first run also loads the OCR engine. The number-of-X-points setting is used only for graphs; OCR reads the table's existing rows.
  5. Correct the result. Compare every cell with the image and type corrections directly into the result table. If columns are merged or shifted, open Edit rows and columns as tab-separated text, put one row on each line with a tab between cells, and click Rebuild editable table.
  6. Keep the table and its evidence. Mark the review checkbox after checking the cells. Click Download table CSV for the cells and Download table + source records JSON for the values, source details and OCR record. Keep the original image too.

Quick practice: click Try a sample table below, then Recognize table image. The sample is already loaded and its region selected. Check that the first numeric row reads 100 and 483.

Graph image → X/Y property values: 8 steps
  1. Choose the mode. Set Conversion mode below to Graph → X/Y property table.
  2. Load and orient the capture. Choose a file in Captured image, or click the image-preview box and press Ctrl + V. Use the rotation arrows and fine-angle controls to line up the axes with the blue guides. Optionally mark two points along each axis under Check remaining tilt and set tolerance. When satisfied, click Use alignment → Define plot / table area. Fill in the source title and URL/page/figure.
  3. Set the plot boundaries. Click Select plot / table region. In the preview, click the upper-left and lower-right corners of the actual plotting area. The green rectangle follows the plot boundaries; tick labels, titles and legends stay outside it.
  4. Calibrate the axes. Below the image, enter the values at X at left edge, X at right edge, Y at bottom edge and Y at top edge of that rectangle. Copy the source's units into the label fields. Choose Linear or Logarithmic for each axis to match the source. The defaults are examples; replace them with your graph's values.
  5. Mark one curve. Click Mark curve points, then click the curve's left end, right end and enough points along its bends. Pink dots and connecting lines show your selection. Use Undo last curve point for a mistake. For automatic tracing, click Auto tabulate: choose first + last and select the ends of one curve. Review the detected pixels and drag its numbered points to correct them. Click Add another curve to trace a second line on the same plot. Keep different phases or discontinuous branches as separate named curves.
  6. Choose the output size. Enter Number of X-axis points (2–1,000). For example, 25 creates 25 X/Y rows between your first and last marked X positions. This is the number of output rows, not the number of clicks required. Choose Interpolation between marked points: Linear, Quadratic, Cubic or Spline. Additional rows interpolate between the control points; they are not independent measurements.
  7. Generate and check. Click Generate property table. Compare the values with the graph and correct cells if needed. If calibration or curve marks are wrong, fix them and generate again. Values between clicks follow the pink line, so mark enough points to represent curved sections.
  8. Review and download. Mark the review checkbox after checking. Download the selected curve as CSV and JSON, or use Download all curves for the whole plot. JSON retains source details, calibration, marked points, interpolation and automatic-trace records.

Quick practice: click Try a sample graph below. Its axes and region are already set. Click the two ends of the green line, enter 5 X-axis points, and click Generate property table. Expected rows: (0, 20), (25, 32.5), (50, 45), (75, 57.5), (100, 70).

If a conversion button is disabled: load an image and complete the two-corner region selection first. To retry a selection, click Select plot / table region again. The Keyboard / precise point coordinates panel is an alternative to clicking the image.

1. Align the image

Line up the captured axes or table rows with the blue horizontal and vertical guides. Rotate as many times as needed; each preview is rendered from the original image or the rectified base, without repeatedly distorting the previous preview. When satisfied, click Use alignment → Define plot / table area.

Move the X ↕ handle at the image's left edge up or down to position the horizontal X guide. Move the Y ↔ handle at the top left or right to position the vertical Y guide. Drag the ⊕ handle at their intersection to move both. You can also use the sliders or enter exact positions below. Focus a handle and use arrow keys for 1-pixel moves (Shift + arrow: 10 pixels). Handle dragging turns off when you start selecting plot corners or curve points; turn it back on here to adjust again.

X guide — horizontal line
Y guide — vertical line
X guide: 50% from top · Y guide: 50% from left.
Check remaining tilt and set tolerance

Perfect alignment is not required. Mark two widely separated points along an actual horizontal or vertical axis (or table line). The check estimates how many pixels it would drift across your selected area. Before an area is selected, it uses the full aligned image dimensions. These are user-marked estimates, not a measurement-accuracy guarantee.

Residual tilt has not been measured. Default tolerance: 2 pixels.

The angular allowance is atan(tolerance / plot span). At a 1,000-pixel span, 2 pixels corresponds to approximately 0.115°. Exceeding tolerance shows a warning; it does not prevent conversion. If rotation alone cannot align both axes, use diagonal skew or four-corner perspective correction, or recapture a square-on image.

Diagonal squeeze / skew

Use horizontal shear to shift the image sideways as height changes, or vertical shear to shift it up/down as width changes. Both controls work with rotation. A nearly flattened image is rejected; adjust the angles back toward zero.

Four-corner perspective correction

For a photographed trapezoid, click Mark four corners, then mark upper-left → upper-right → lower-right → lower-left on the image. Use the real plot corners, or the outside corners of a printed table. Check the resulting polygon, then choose the corrected width/height and apply. The initial size estimates come from opposite edge lengths; enter a known aspect ratio if available. Recalibrate the axes after correction.

No perspective correction applied.

Guides are preview overlays. OCR and exported values use the aligned image without the guides. Rotating after selecting a region clears that region and its curve points so you can define them again.

2. Define the plot or table area

After alignment, select the upper-left corner and then the lower-right corner in the image preview. For graphs, enclose the actual plotting area; for printed tables, include headings, cells and units.

No area selected.

Next: choose an image file, or click the empty preview below and paste your capture with Ctrl + V.

Fit width

Zoom changes the view only. Scroll inside the preview to inspect a magnified image; plot corners, guide positions and curve points stay in image coordinates.

No image loaded.

Keyboard / precise point coordinates

Coordinates use the rotated image's original pixels, with (0, 0) at the upper-left. Enter coordinates and apply the current region-corner or curve-point selection.

Calibrate axes and choose X-axis points

Axis values refer to the selected plot boundaries. Mark points along one curve, including its ends and bends. The output spans only your marked curve, with no extrapolation. Convert different phases or discontinuous branches separately.

2–1,000 output points, equally spaced in X or log(X), matching the selected X scale. All interpolation is performed in plotted coordinates; logarithmic axes interpolate the logarithms. More output points do not add independent measurements. Quadratic/cubic use local neighboring points; spline uses a natural cubic spline through all points.

Linear: straight segments between adjacent marked points.

Curved interpolation can overshoot between points. Check the pink preview curve and the exported values; no extrapolation beyond the first/last marked X is performed.

Curve 1: no points yet.

Auto tabulation: follow pixels from first to last point

After defining the plot area and axes, click Auto tabulate: choose first + last, then click the two ends of one curve in the preview. The tracker follows matching image pixels and favors a continuous path. It does not merely join the endpoints with a straight line. Review the detected curve; grids, crossings, dashed/faint lines and overlapping curves can confuse it.

Choose endpoints on the same curve. Add another curve to repeat on this plot.

Edit selected curve control-point coordinates

Each row is one marked point in aligned-image pixels: X [tab] Y. Edit, add or remove rows, then apply. The preview handles can also be dragged; focus a handle and use arrow keys (Shift + arrow moves 10 pixels). Point edits update the generated table when the axes and interpolation are valid.

0 curve points marked.

Ready to load an image.

Conversion method and limitations

Graph mode converts your marked pixel coordinates using the calibrated linear or logarithmic axes and samples between adjacent anchors. Automatic tracing follows pixel color and continuity between selected endpoints; grids, overlaps and faint lines can confuse it. Each curve is reviewed and exported separately. It assumes an axis-aligned graph, single-valued Y(X) and no discontinuity within the selected branch. Values are digitized estimates, not new experiments; no sample standard deviation is calculated. OCR transcribes a printed table and can misread or shift cells. Preserve the original source and verify the result.

OCR: Tesseract.js, Apache-2.0. Pinned dependency versions and source records.