HTML to JSON Converter
Paste HTML and extract clean JSON in one click. Convert tables to arrays of objects, lists to arrays, or any HTML to a DOM tree — without writing a parser.
Last updated: May 20, 2026
Find this tool useful? Support the project to keep it free!
Buy me a coffeeWhat is HTML to JSON Converter?
HTML tables are one of the most common ways structured data appears on the web — pricing pages, comparison tables, sports stats, financial data, and directory listings all use HTML tables. Extracting that data usually means writing a custom scraper or parser.
This tool does it for you: paste the HTML containing a table, list, or any structure, pick a conversion mode, and get clean JSON ready to use in your code. Table mode turns each row into an object keyed by the header row. List mode converts `<ul>` and `<ol>` elements into JSON arrays, including nested lists. Tree mode converts any HTML fragment into a JSON representation of the DOM structure.
How to Use HTML to JSON Converter
Paste HTML into the input area or click a sample button
Choose a mode: Table (for <table> elements), List (for <ul>/<ol>), or Tree (full DOM)
Set indent size and toggle options like First Row as Header
The JSON output updates instantly
Copy the JSON or download it as a .json file
Common Use Cases
- Developers extracting data from HTML tables copied from Wikipedia, financial sites, or sports statistics pages.
- Data analysts scraping product comparison tables or pricing grids for import into spreadsheets or databases.
- Back-end engineers converting CMS HTML output into structured JSON for API responses.
- QA testers verifying that an HTML table renders the expected data by comparing it against a JSON fixture.
- Students extracting tabular data from web pages for data science or machine learning exercises.
- Automation engineers parsing HTML email content or report exports into structured JSON for processing.
Example Input and Output
An HTML pricing table is converted to a JSON array of objects, one per row, keyed by the header row.
<table>
<tr><th>Plan</th><th>Price</th><th>Users</th></tr>
<tr><td>Starter</td><td>$9/mo</td><td>5</td></tr>
<tr><td>Pro</td><td>$29/mo</td><td>25</td></tr>
<tr><td>Enterprise</td><td>Custom</td><td>Unlimited</td></tr>
</table>[
{ "Plan": "Starter", "Price": "$9/mo", "Users": "5" },
{ "Plan": "Pro", "Price": "$29/mo", "Users": "25" },
{ "Plan": "Enterprise", "Price": "Custom", "Users": "Unlimited" }
]Privacy
All HTML parsing and JSON generation runs in your browser. No data is uploaded to any server.
Multiple tables
If the HTML contains multiple tables, the output is a JSON array where each element is the data for one table. Single-table HTML produces a flat array of row objects.

