Back to results
Explore the library298 guides total · goals, work & tasks
By goal

Choose what you want to achieve.

By work or interest

Choose a setting you work or spend time in.

By task

Choose the kind of help you want.

Counts show all available guides. Filters combine to narrow your results.

Build a workflowGuide

Turn a table image into a checked CSV

Keep row IDs, units and a genuinely unreadable cell intact while turning a picture of a table into plain data.

Illustrative resourceNot tool-testedAnyone moving a small photographed or scanned table into a spreadsheet
What you’re working towards

A six-row CSV with every equipment ID and unit preserved, one uncertain quantity left blank and a review note explaining what needs a clearer source.

Download playbook .md

Your choice also saves this guide’s current worked-example checkmarks. Only this browser; no account or sync. View saved guides

Saving needs JavaScript. Reading and downloading this guide does not save it.

Included example · illustrative CSV file

Download the checked example CSV

Six rows of static plain data, four-character IDs, units and one unresolved quantity. Import equipment_id as Text.

Not tool-tested. Review and adapt before using it for a real project. Your browser may download this file when you choose View example file.

Synthetic six-row equipment table used as the extraction input. IDs retain leading zeros; the quantity for 0068 is deliberately unreadable and the quantity for 0110 is zero. Full expected values are in the answer key.
Practice input: inspect the PNG itself, then compare your CSV with the answer key.

Source files to work with

Make a start

One step at a time.

4 steps

Start with the synthetic worked example or other non-sensitive inputs. Run one prompt at a time in your chosen AI tool. Replace any bracketed placeholders with the requested material, check each reply, and supply the source or earlier outputs that step needs. Paste them again if the tool lacks that context.

Set up the worked example

Open

Open a new conversation in an AI chat tool that can accept and inspect image files. You also need an image viewer and a plain-text editor. Use “Download the original table image” in this guide to save table-image.png, then open that PNG in the image viewer. Check that the whole table is visible. If your chat tool cannot accept or inspect the PNG, stop the image exercise or use an image-capable tool you already have permission to use. No particular product, plan or free upload option is promised here.

Add the sample

Copy the step 1 prompt into the chat message box. Where it says [attach table-image.png or your permitted image], attach the downloaded table-image.png using your chat tool’s file-attachment action. The bracketed words are a reminder to attach a file; typing its filename does not upload it. Make sure the image is attached before sending. Use the PNG itself, not table-image.svg, extracted-table.csv, the expected extraction notes or a copied transcript. The sample text explains the rules but does not replace the image.

For step 2, attach the same table-image.png where it says [attach the same original PNG]. For step 3, attach that PNG where it says [attach original] and replace [paste] under PROPOSED CSV with your full step 2 CSV, including its header. For step 4, replace [paste] under FINAL CSV with the full CSV you have checked and corrected. Keep using the original image as the source. The supplied CSV and expected notes are an authored answer key to open after your attempt, not an AI result from this walkthrough.

Start with the synthetic example, then adapt each prompt to your task.

01

Open the actual image and define the columns

Start with the PNG, rather than the answer CSV or editable SVG. Count the six rows, read the headers and decide how to represent an unclear numeric cell.

Your starting prompt
Inspect the attached raster table image. Tell me whether every header and row is visible. List the headers, number of data rows and any unreadable cells by visible row ID and column. Preserve leading-zero IDs as text. Qty counts items and mass is per item in kg. Do not transcribe from an SVG source or infer an unreadable value. If you cannot view the image, say so and stop rather than pretend to have inspected it.

IMAGE:
[attach table-image.png or your permitted image]
Expect

The reply should say whether the image can be seen, name the four headings (ID, Equipment, Qty, Mass per item (kg)), count six data rows and identify the unreadable Qty cell on row 0068. It should not invent a quantity for that row.

Check

Look at table-image.png yourself while reading the reply. Check that the top headings and bottom row are included. The last row, 0110, has a visible quantity of 0; row 0068 has an unreadable mark. These are different cases.

If it differs

If the assistant says it cannot view images, or only repeats text supplied in the chat, do not call that image inspection. Confirm that the PNG was actually attached and try again in an image-capable tool you may use. If the image is cropped or unreadable in the tool, attach the original download again. The scribble on 0068 is deliberately unreadable, so a clearer guessed number is not a valid fix.

02

Extract once, keeping uncertainty visible

Use plain fields and preserve the original order. A blank numeric cell with a review note is more useful than an invented value.

Your starting prompt
Extract the attached table to CSV with exactly these columns: equipment_id,item,quantity,quantity_unit,mass_per_item,mass_unit,quantity_status,review_note. Keep one row per image row in source order. IDs must retain all leading zeros. Preserve item names and units; quote fields containing commas. Use item and kg for this fixture. For unreadable quantities leave quantity empty, use quantity_status unclear, and identify the uncertainty in review_note. Keep a clearly printed zero as 0. Do not guess, replace unknowns with zero, merge rows, calculate complete totals or output spreadsheet formulas.

IMAGE:
[attach the same original PNG]
Expect

The reply should contain comma-separated text with the eight requested column names on the first line and six data lines below it. CSV means this plain text format. Row 0068 should have an empty quantity, quantity_status set to unclear and a review note; row 0110 should keep quantity 0.

Check

In the text, check that IDs still have four characters, including their leading zeros. Check that Cable reel, 10 m is inside quotation marks so its comma does not create an extra column. The units should be item and kg, with mass recorded per item. Keep this first reply so you can compare corrections later.

If it differs

If you get a picture or a formatted table instead of CSV text, ask for the same result as plain CSV with the exact eight headers. If a row is missing, a zero is lost or the unreadable value is guessed, point to the affected row ID and ask for a corrected CSV using the attached PNG. Keep unknown quantities blank; do not fill them just to finish the file.

03

Compare every cell with the image

Keep the image and result side by side. Check each ID, name, quantity and mass, including the comma in Cable reel, 10 m and the real zero on 0110.

Your starting prompt
Audit the proposed CSV against the attached original image, row by row and cell by cell. Report omissions, duplicate rows, shifted columns, changed digits, lost leading zeros, unit changes and unsupported values. Distinguish cells you can visually read from unresolved cells. Do not treat the previous extraction as its own source. Return corrections with row ID and field name, followed by the revised plain CSV. Do not assert that uncertain cells were verified.

IMAGE:
[attach original]

PROPOSED CSV:
[paste]
Expect

The reply should list any differences by row ID and field, then provide a complete revised CSV. If it finds no changes, it should say so while still leaving the unreadable quantity unresolved.

Check

Compare all six rows yourself, with the PNG and CSV open side by side. Check the ID, name, quantity and per-item mass for each row, not just the first and last. A second AI reply is a review suggestion, not proof that the first reply was right. Row 0068 must still show known mass 3.2 kg and unknown quantity.

If it differs

When the reply disagrees with a number you can clearly see, identify that exact row and field and recheck the PNG before accepting a correction. If neither you nor the assistant can read a cell, leave it unknown and note why. Do not use the previous CSV or the answer key as evidence that the image was read.

04

Save the plain CSV and check the import

Open the CSV in a text editor first. If using a spreadsheet, import the ID column as Text and verify the IDs again. Compare your practice result with the answer key only after finishing.

Your starting prompt
Give me a final handoff checklist for this CSV: one header plus six data rows; all six four-character IDs preserved; the comma-containing item quoted; item and kg units retained; ID 0068 quantity blank with an unclear note; ID 0110 quantity 0. Explain that CSV has no column type metadata and that I must explicitly import equipment_id as Text in my chosen spreadsheet, then recheck. Do not claim you tested an application or completed image extraction unless you actually did.

FINAL CSV:
[paste]
Expect

The reply should give a checklist for saving and, if needed, importing your CSV. It should not claim to have saved a file or tested your spreadsheet. Copy only the checked CSV text, from the header through the last row, into a new plain-text file. Save it as my-extracted-table.csv so it stays separate from the supplied extracted-table.csv answer key. Leave out chat explanations and any surrounding code-block markers.

Check

Reopen my-extracted-table.csv in the text editor and check one header plus six data rows, the four-character IDs, the quoted comma-containing name, the blank on 0068 and the zero on 0110. Now compare with extracted-table.csv and table-extraction-notes.md from this guide. If you also use a spreadsheet, use an import flow that lets you set equipment_id to Text before importing, then check all IDs again. Keep the plain-text original.

If it differs

If your file is named my-extracted-table.csv.txt, save it again as plain text with the .csv ending. If a spreadsheet changes 0012 to 12, discard that import and import the original CSV again with the ID column set to Text. Quoting an ID alone does not protect its zeros. If your spreadsheet cannot preserve text IDs, use the text-editor result and leave spreadsheet import untested. Do not report a complete item count or mass while row 0068 is unresolved.

Optional: improve the result

Make later corrections traceable

Keep the original image and CSV. Change an uncertain field only when a clearer source supports it, and record exactly what changed.

Advanced prompt
Compare the earlier CSV with the clearer image or authorized correction below. For every changed cell, record row ID, field, earlier value/status, new value, source support and remaining uncertainty. Do not revise unrelated fields. If the quantity for 0068 is now readable, resolve only that field and its uncertainty note; otherwise leave it blank. Recheck row counts, leading-zero IDs and units. Keep original and corrected versions. Do not report an image-viewing or spreadsheet import test you did not perform.

EARLIER CSV:
[paste]

NEW SOURCE:
[attach or paste]
Optional: use your own input

Work through your own non-sensitive equipment table

Open your permitted equipment-table image in an image viewer, and start a new conversation in an AI chat that can inspect images. Have a plain-text editor ready for the final CSV. Remove unnecessary private information before upload; if you cannot do that safely, use the supplied sample instead. Paste the prompt below, attach your actual image where it says [attach my permitted equipment-table image], and replace [write my column meanings and units, or say unknown] with what you know. For example: “ID identifies an equipment type; Qty counts items; Mass per item is kg; blank quantities are unknown.” Use that wording only if it is true for your table. The assistant should guide you one stage at a time and wait for your next message. Check its description first, then send “The table is correct; extract it.” Later, attach the original image and paste the full CSV when it asks for the review. Do not send a confirmation until you have done the stated check. The sample’s six rows, IDs, answer key, item/kg rules and optional 0068 correction prompt are not checks for a different table.

Your own-input prompt
Guide me through turning my own permitted, non-sensitive equipment-table image into a checked CSV. Work one stage at a time. Do not run all stages in one reply or invent checks I have not performed.

IMAGE:
[attach my permitted equipment-table image]

WHAT I KNOW ABOUT THE COLUMNS:
[write my column meanings and units, or say unknown]

1. Inspect and agree the table. Inspect the actual attached image. If you cannot view it, say so and stop; my description is not evidence that you saw the image. List the visible headers, row count, identifiers, units and unreadable cells. Ask me to clarify ambiguous column meanings. Propose CSV headers that preserve this table’s actual fields, text identifiers and units, with a status/note for unreadable values. If an identifier is unreadable, refer to its visible row position rather than invent an ID. Do not assume six rows, sample IDs or item/kg units. Do not infer unknown numbers or convert units silently. Stop and ask me to check the table description against my image. Only proceed when I reply: “The table is correct; extract it.” If I correct the description, update it and wait for confirmation again. An unreadable cell may remain explicitly unknown.

2. Extract. After that confirmation, return the complete plain CSV with one header and one row per image row in source order. Preserve leading zeros and source units. Quote fields containing commas, quotation marks or line breaks. Keep a genuinely printed zero as 0. Leave an unreadable numeric field empty and identify it in the status/note fields. Do not add formulas or complete totals. Flag any source text a spreadsheet might interpret as a formula; do not silently alter it or tell me to import it before that risk is resolved. Explain any unresolved cells separately from the CSV. Ask me to keep this first result, compare it with the original image, then send “Review this CSV against the image” with the original image attached and the complete CSV pasted under PROPOSED CSV. Stop there.

3. Review. When I provide that message, original image and proposed CSV, compare every row and cell to the image. Report omissions, duplicates, changed digits, lost zeros, shifted columns, unit changes and unsupported values by row and field. Return a complete corrected CSV, or say that no changes were found, while retaining all uncertainty. Do not use the earlier extraction as its own source. Ask me to compare every row myself with the image. If I find an error, tell me to identify its row and field; use the image to resolve it, or keep it unknown. Do not claim the file is verified merely because you reviewed it. Stop and wait for me to say: “The CSV matches the image; help me save it.”

4. Save and check. After my confirmation, explain how to copy only the complete CSV into a plain-text editor, save it as my-equipment-table.csv and reopen it there. Use my actual header, row count, ID format, units, zeros and unresolved cells in the final checklist. CSV has no spreadsheet column types. If I choose to import it into a spreadsheet, require text-ID columns to be set to Text before import and checked again afterward. If the chosen tool cannot preserve those IDs or safely handle flagged formula-like text, keep the result in the text editor and leave spreadsheet import untested. Do not claim you saved a local file or tested my application. Keep the original image and earlier CSV. Stop after the handoff checklist.

If I later provide a clearer original image or an authorized correction and explicitly ask you to update the CSV, change only supported cells. Record row/field, earlier value/status, new value and source support, and retain the earlier version. Use my actual table, not the guide’s sample correction for 0068. Do not claim image extraction, file saving, spreadsheet import or human checks that did not occur.

Check your own result

  • The original permitted image is attached and visible to the assistant; a transcript is not an image test. You have confirmed the real headers, row count, identifiers, units and meaning of blanks before extraction starts.
  • Send each next-stage command only after the requested check. Do not let an unknown cell become a guess or a true zero become a blank.
  • Compare every returned CSV row with your image yourself. Keep text IDs and source units; review any formula-like source text before importing into a spreadsheet.
  • Save only plain CSV, reopen the actual saved file and check it again. If you import it, explicitly preserve ID columns as Text and recheck them; otherwise leave import untested.
  • Keep the original image and CSV. Use the new table’s own checks and row IDs for any later correction, and resolve unknowns only from a clearer original or an authorized source. Do not reuse the sample answer key or claim unperformed checks.
Show, then try

See the shape of the result.

This input is synthetic. The output is a written illustration of the intended result, not a verified AI-tool run.

The starting point

Synthetic input
ORIGINAL SYNTHETIC INPUT
Download table-image.png and give that raster image to an assistant that can actually inspect images. The six-row equipment table is invented for this exercise. One quantity is deliberately unreadable. There is no hidden authoritative number to recover from the scribble.

SOURCE CONTRACT
Each row is one equipment type. IDs are four-character text identifiers, including leading zeros. Qty counts items. Mass per item is measured in kg; it is not the mass of the whole row. Keep the equipment name Cable reel, 10 m exactly, including its comma and length. A clearly printed zero is a real zero. An unreadable quantity is unknown, not zero.

OUTPUT CONTRACT
Return one CSV row per source row, in source order, with these fields: equipment_id, item, quantity, quantity_unit, mass_per_item, mass_unit, quantity_status, review_note. Use item for quantity_unit and kg for mass_unit. quantity_status is clear or unclear. Keep an unreadable numeric field blank and identify the field in review_note. Do not calculate a complete item count or total mass while a quantity is unknown.

PRIVACY AND PRACTICE
This fixture contains no personal data. For a real image, remove addresses, signatures, account identifiers or other unnecessary private material before upload. Begin with the PNG only. The CSV and the answer notes are an authored comparison key, not input for the extraction exercise. The optional SVG is editable source artwork, not OCR evidence.

Copies text only. For image or file tasks, use the source files named in the steps too.

Download source .txt

The intended result

Illustrative output
ILLUSTRATIVE ANSWER KEY
This expected output was authored for the synthetic fixture. No consumer AI image-extraction workflow was executed.

Six rows, in image order:
0012 | Folding stool | quantity 4 items | mass per item 2.4 kg | clear
0027 | LED work lamp | quantity 3 items | mass per item 0.8 kg | clear
0041 | Cable reel, 10 m | quantity 2 items | mass per item 1.6 kg | clear
0068 | Tripod stand | quantity unknown | mass per item 3.2 kg | unclear
0103 | Storage crate | quantity 5 items | mass per item 1.1 kg | clear
0110 | Foam mat | quantity 0 items | mass per item 0.4 kg | clear

UNRESOLVED CELL
ID 0068, quantity: unreadable in the PNG. Leave the numeric CSV field empty. quantity_status is unclear and review_note says: Quantity unreadable in source image; ask for a clearer original. Do not guess from neighboring rows or the mass field. ID 0110 has the actual printed quantity 0, which must remain 0.

CSV HANDOFF
extracted-table.csv contains one header and six data rows. Leading-zero IDs are preserved in the actual CSV text. The equipment name containing a comma is quoted correctly. The numeric columns contain plain values or the one documented blank, with no formulas. CSV does not carry spreadsheet column types: import equipment_id explicitly as Text, then check the saved/imported file. Quoting a numeric-looking ID alone does not reliably stop a spreadsheet from treating it as a number. No named spreadsheet-app import was tested.

A clearer original or an authorized source record is needed before resolving 0068. This file is a checked teaching fixture, not proof that an AI can read every table or that an unknown value has been recovered.
Download result .txt
You’re the final check

Check the worked example.

These checks use the worked example and its particular facts. With your own material, check your actual names, numbers, sources and rules; do not reuse the sample’s values as the answer.

Unsaved checks stay in this tab and reset when you reload. If you choose Save guide, its current example checkmarks are kept in this browser when storage is available.

A few things to watch for.

  • Letting a spreadsheet remove leading zeros even though the CSV itself preserved them.
  • Guessing an unclear digit because a neighboring value looks plausible.
  • Treating missing quantity as zero, or confusing per-item mass with the total mass of a row.
  • Calling a parsed file or a view of SVG source proof of successful image extraction.

What has been checked?

Documentation
No dated source review recorded.
Included files
Scoped checks passed on 2026-10-14. File parsing; Fixture checks. See scope below.
AI workflow
Not run in a recorded consumer-AI workflow.
Time savings
Time savings not measured
Read the scope and evidence

extracted-table.csv

2026-10-14 · parser · passed

Literal UTF-8 CSV content, fixed row widths, quote handling, round-trip and formula-trigger checks. CSV has no column-type metadata.

  • One header and six eight-field data rows
  • Comma-containing equipment name parses as one cell
  • No formula-leading cells or control characters
  • CSV parse/write/parse preserves all strings

Environment: Local Python standard library; CSV/XML/PNG parsing and explicit fixture assertions. No consumer AI or spreadsheet application.

SHA-256: b826498f10e63b876c50f98bc28f46c4e4cf9353945261d9e9ddc999b1c2d8d4

extracted-table.csv

2026-10-14 · semantic fixture · passed

Exact authored fixture comparison, preserving leading-zero IDs, units, the true zero and one unresolved quantity; seven deliberately invalid mutations are rejected. This does not establish OCR or spreadsheet import performance.

  • All six IDs and every clear data value match independent exact controls
  • 0068 quantity is empty with unclear status and review note
  • 0110 quantity is the string 0
  • All quantity units item; all mass units kg
  • Seven invalid mutations rejected

Environment: Local Python standard library; CSV/XML/PNG parsing and explicit fixture assertions. No consumer AI or spreadsheet application.

SHA-256: b826498f10e63b876c50f98bc28f46c4e4cf9353945261d9e9ddc999b1c2d8d4

table-image.svg

2026-10-14 · parser · passed

Self-contained SVG parses with expected dimensions and visible labels. No scripts, embedded resources, external references or event handlers were found.

  • XML parse and 1200 by 730 viewBox dimensions
  • Six expected ID labels and mass-unit header
  • One authored unreadable-quantity graphic; no hidden source quantity

Environment: Local Python standard library; CSV/XML/PNG parsing and explicit fixture assertions. No consumer AI or spreadsheet application.

SHA-256: 42e46bd40f0825390024d4f99de8473928e452f4c5d232aa31f9b6a1f1e4102b

table-image.png

2026-10-14 · parser · passed

PNG signature, chunk CRCs, compressed image data and intrinsic dimensions checked. This does not itself establish visual readability.

  • PNG signature and chunk checksums
  • Raster data decompresses
  • 1200 by 730 pixels

Environment: Local Python standard library; CSV/XML/PNG parsing and explicit fixture assertions. No consumer AI or spreadsheet application.

SHA-256: 3c7aa75e9775b013f4ebe493d0342030ea2dc5b34c6dac17ed4d6c861fbc5b8b

table-image.png

2026-10-14 · semantic fixture · passed

Actual raster inspection using view_image on 2026-10-14: all six rows, headings, names and clear numbers were legible; quantity for 0068 was visibly unreadable and quantity for 0110 was visibly 0. This is an editorial image review, not an AI extraction workflow, browser test or app import test.

  • Image opened at its rendered 1200 by 730 size
  • Six rows visibly present with intact four-character IDs
  • 0068 quantity scribble unreadable; 3.2 kg remains readable
  • 0110 quantity is visibly zero
  • No clipping or overlap observed in the input image

Environment: Inkscape 1.4 raster export followed by the assistant’s direct view_image inspection of the PNG. No consumer AI/OCR run or browser test.

SHA-256: 3c7aa75e9775b013f4ebe493d0342030ea2dc5b34c6dac17ed4d6c861fbc5b8b

Copy these instructions

Your browser blocked automatic copying. Select the text below and copy it.