All Over Tools logo
Tool Combiner
Analyze Tools Clean Tools Compare Tools Convert Tools Data Validation Extract Tools Format Tools Generate Tools Organize Tools Transform Tools
Audio Tools Font Tools Image Tools Subtitle Tools Video Tools
Archive Tools Document Tools Ebook Tools File Management Tools PDF Tools Presentation Tools
Config Tools Database Tools Dataset Tools JSON Tools Parser Tools Spreadsheet Tools XML Tools
Business Calculators Construction Calculators Date And Time Calculators Education Calculators Financial Calculators Food Calculators Health Calculators Math Calculators Science Calculators Sports Calculators Statistics Calculators
Blog About Us Contact Us

HTML Table Extractor

Paste HTML, upload an .html file, or fetch a public URL, and this tool finds every <table>, resolves rowspan/colspan into an explicit rectangular grid, and lets you export selected tables as CSV, JSON, or XLSX - captions and source metadata included.

Drop an .html file here

or

.html, .htm

Paste or type HTML to process tables automatically, or choose an HTML file.

How to extract HTML tables

Paste markup into HTML document, upload an .html or .htm file, or enter a public page in Public page URL. HTML Table Extractor lists each <table> separately, expands merged cells into a rectangular grid, and lets you export selected results as CSV, JSON, or XLSX.

Extract tables from HTML in five steps

  1. Choose Paste / Upload HTML or Fetch Public URL.
  2. Paste markup into HTML document, or click browse files and choose an .html or .htm file.
  3. In URL mode, enter one public http or https address in Public page URL.
  4. Check each Table # result for its caption, header source, row count, column count, and preview.
  5. Leave the needed tables selected, use Select all or Select none, then click CSV, JSON, or XLSX under Export selected tables:.

Pasted and uploaded HTML is processed automatically. URL mode fetches as you type, and every table is selected when results appear. An input without tables produces the message No <table> elements were found in this HTML.

How rowspan, headers, and nested HTML tables are read

The parser expands rowspan and colspan into an explicit rectangular grid. A spanning cell's text is copied into every grid position it covers. If a row is short or malformed, the missing positions stay as flagged empty cells, so each exported row uses the table's full column count.

<table><tr><th colspan="2">Q1</th></tr>
<tr><td>West</td><td>120</td></tr></table>

Q1 | Q1 (1)
West | 120

The preview shows up to 8 columns and the first 5 data rows. Results report merged-cell and missing-cell counts when nonzero.

Rows inside <thead> supply headers. If there is no <thead>, the parser uses a leading run of rows made entirely of <th> cells. When neither structure appears, the export names the columns Column N and reports the header source as none detected.

A table inside another table gets its own selectable result and shows its parent table index. The parent cell's text excludes the nested table, while the parent result is marked as containing one.

HTML tables to CSV, JSON, or XLSX

Select one table or several before exporting. CSV puts the table index, caption, header source, row and column counts, and source in comment lines. JSON stores that metadata with headers and rows. XLSX creates one sheet per table and a _metadata sheet. The source label identifies pasted HTML, a filename, or a URL.

What Fetch Public URL can and cannot read

Fetch Public URL requests raw, server-rendered HTML through a server-side request over http or https. It sends no cookies or credentials, runs no JavaScript, and uses no browser automation. The host must resolve to a public address. A response can be up to 5 MB, the request can run for 10 seconds, and the fetch follows up to 5 redirects.

URL mode reads one final HTML response. It does not follow page links, collect general page text, or crawl a site. For a login-protected or client-rendered table, copy the live DOM from browser developer tools and paste it into HTML document. The page processes pasted and uploaded HTML with browser JavaScript.

Where HTML table extraction comes up

Upload a saved HTML report and export XLSX when its rows need to go into a spreadsheet.

For a rendered table behind a login, copy its live markup into HTML document, select it, and export CSV.

When one document contains several tables, select the needed Table # results. JSON keeps parent relationships and cell counts.

When to use another parser

HTML Table Extractor reads table markup. For other input, open Parser Extract Tools: Cookie Parser reads Cookie and Set-Cookie header strings, Logfmt Parser reads key=value log lines, and User-Agent Parser reads User-Agent strings.

Frequently asked questions

Can I extract HTML tables with rowspan and colspan?

Yes. The parser expands rowspan and colspan into a rectangular grid before export. It copies spanning text into every position the cell covers and records empty positions as missing cells.

How do I extract a nested HTML table?

A nested HTML table appears as a separate selectable result with a parent table index. The parent cell is marked as containing a nested table.

Can I turn HTML tables into CSV, JSON, or XLSX?

Yes. Select one or more Table # results and click CSV, JSON, or XLSX. CSV uses comment lines for metadata, JSON stores metadata beside the data, and XLSX adds a _metadata sheet.

Can I extract an HTML table from a public URL?

Yes. Fetch Public URL reads one public HTTP or HTTPS page containing server-rendered HTML. It cannot run page JavaScript or use login credentials, so paste the live DOM for a client-rendered or protected table.

Related Tools

41 views