Back to Free Tools

FREE TOOLS

HTML Table Extractor

Extract one top-level HTML table as CSV or JSON, or list available tables without loading embedded resources.

HTML markup, UTF-8 HTML or text file

CSV, JSON objects, JSON table inventory

Browser only

Runs locally in your browser. Your files, pasted content and generated output are not uploaded. Reset clears this tool’s working data.

This tool needs JavaScript. If it does not load, refresh the page and try again.

How to use this tool

  • Paste HTML or choose a UTF-8 HTML file; a selected file takes precedence.
  • Choose List available tables to inspect table positions, captions, row counts and nested-table flags.
  • Choose CSV or JSON objects and set the one-based Table position. Review spreadsheet protection for CSV.
  • Select Extract table. Download extracted-table.csv or extracted-table.json and the accompanying tables.json inventory.

Examples

Extract the rows of <table><tr><th>Name</th><th>Score</th></tr><tr><td>Ada</td><td>12</td></tr></table> as CSV or [{"Name":"Ada","Score":"12"}].

Limitations

  • Up to 200,000 UTF-16 characters, 100,000 HTML nodes, 100 nesting levels and 100 top-level tables. HTML files are additionally limited to 800,000 bytes.
  • A selected table needs equal-width rows and at most 10,000 rows, 500 columns and 100,000 cells. Nested tables and row or column spans other than an omitted attribute or exact value 1 are rejected. Output is limited to 20 MiB.
  • HTML entities are decoded. ASCII whitespace collapses, br creates LF, and nonbreaking spaces remain distinct. Script, style, template and noscript content is ignored. CSS visibility is not inferred.
  • JSON requires unique nonempty first-row headers and keeps all cell values as strings. CSV formula protection starts on and preserves complete signed numeric text.

Related tools

No items found.

More tools for your workflow

Explore the related desktop tool