Skip to content
NSNormandin SystemsTHE EVERYDAY TOOLBOXMain site
</>

Development / YOUR EVERYDAY TOOLBOX

HTML to data

Convert HTML table to JSON, YAML, CSV, SQL INSERT, XML, Markdown or XLSX

✓ Free to use✓ No account neededHow to use this tool ↓
YOUR WORKSPACESee an example ↗

Opening your tool…

Runs in your browser. Check important results and keep a copy of your original files.

THE PRACTICAL GUIDE · NORMANDIN SYSTEMS

Get more from HTML to data

HTML to Data extracts tabular information from HTML tables into formats such as JSON, YAML, CSV, SQL INSERT, XML, Markdown, or XLSX. A table is a presentation structure, so header interpretation, merged cells, and nested content may require review when turning it into records. Start with a simple table and confirm the columns before using the result as a data source. Code transformations are most useful when you know the language and the surrounding context of the snippet. Work from a saved copy and start with a small, valid example that demonstrates the behavior you need. Formatting, encoding, and generation do not establish that a program is correct. Review the output as source code, keep meaningful comments when appropriate, and test the result in the same environment that will eventually interpret it. This makes subtle changes much easier to spot.

Guide updated October 13, 2026

How to use this tool

  1. Paste a small, representative snippet and keep a copy of the input. Include the punctuation and delimiters needed to make the example meaningful.
  2. Paste an HTML table, select an output format, and compare the interpreted headers and row values.
  3. Review the example below and compare its expected behavior with a small sample of your own input before continuing.
  4. Copy the result into a scratch file and verify it with the intended parser, editor, or test environment before replacing the original code.

SEE IT IN PRACTICE

A worked example

EXAMPLE INPUT
<table><tr><th>Name</th></tr><tr><td>Ada</td></tr></table>
RESULT / WHAT TO EXPECT
A one-column data representation containing Name and Ada

The table header becomes a field or column label in the selected representation, while the data row supplies the value.

Decide what counts as a record

A visually appealing table may use multiple header rows, merged cells, subtotal rows, or notes inside a data cell. A flat record format needs a clearer contract: which row supplies field names, which rows are data, and how missing values are represented. Start with a simple table whose expected records you can write down manually. Then inspect a complex source's first, last, and irregular rows before using the full conversion as an import file.

Export formats introduce their own choices

CSV needs delimiter and quote handling, JSON distinguishes numbers from strings, and SQL output depends on table and identifier conventions. A leading-zero product code should not be casually converted into an integer simply because it contains digits. XML and nested formats can express structures differently from a spreadsheet. Choose the format based on the next consumer and validate there. Record count and field names are useful checks, but they should be supplemented with sample values containing commas, quotes, blank cells, and non-ASCII text.

When this tool is useful

  • Extract a simple published table for analysis
  • Turn report markup into structured records
  • Prepare Markdown or CSV from an HTML table

Tips for a better result

  • Count the records, inspect missing cells and headers, and confirm that numbers or leading-zero identifiers retain the intended meaning.
  • Separate a syntax check from a behavior check. A snippet can parse successfully while producing the wrong value, selecting the wrong element, or changing an important edge case.
  • Keep the source and the settings used for this result together. That makes a later comparison or correction easier, especially when another person needs to reproduce the same outcome.

Frequently asked questions

Do merged table cells map cleanly into records?

Complex tables with rowspan, colspan, nested elements, or repeated header rows may not map cleanly to flat records.

Can I use generated or transformed code immediately?

Treat the result as a draft to review. Check names, escaping, syntax, and assumptions in the target environment, then run a representative test. The tool cannot see the wider application or know every requirement that applies to it.

How do I investigate unexpected output?

Reduce the input to the smallest example that still shows the issue. Check the chosen language or mode, inspect special characters and whitespace, and compare with the original. Add complexity back gradually after the basic example works.

What happens to the information I enter?

The utility processes your input in this browser. Some tools retain field values in browser storage or the URL; avoid entering secrets in shareable fields. Page and asset requests still go to the hosting provider. Read the privacy and offline-use notes for details.