Zero Signup ToolsFree browser tools

Converter Tools

HTML Table to JSON Converter

Paste HTML and extract every <table> as clean JSON in your browser. Pick array of objects, array of arrays, or columns shape with optional type coercion.

Output shape

Indent

Spanned cells

Links inside cells

Conversions run entirely in your browser. Pasted HTML is not uploaded.

How to use

  1. Open the source page and copy the HTML that contains the table you want. Use View source, copy outer HTML from the inspector, or paste an entire saved HTML file.
  2. Paste the HTML into the input area on the left. Every <table> in the document is detected automatically and listed as chips above the output.
  3. Pick a table chip, or choose All tables to emit every table at once with a wrapper that includes the table caption.
  4. Pick the output shape: array of objects for spreadsheet-style data, array of arrays for positional data, or columns object for charting and DataFrame ingestion.
  5. Toggle type coercion to turn numeric, boolean, and empty cells into proper JSON types instead of strings, and adjust whitespace, link, and spanned-cell options to fit your source.
  6. Read the live preview to verify the parsed structure, then click Copy JSON or Download to save the file.

About this tool

HTML Table to JSON Converter takes a block of HTML, finds every <table> element inside it, and turns each one into clean JSON ready to drop into a JavaScript or Python script, a fetch mock, a fixture file, a TypeScript type, or any data tool that speaks JSON. Parsing happens with the browser's native DOMParser, so the same parser the page itself uses handles malformed markup, attribute quoting variations, and nested or deeply styled tables the same way a real browser does. The tool walks <thead>, <tbody>, and <tfoot> in document order, and when no <thead> is present but the first row is built entirely from <th> cells it is detected as the header automatically. You can choose one of three output shapes: array of objects (the canonical [{ "Header": "value" }, ...] shape that maps one-to-one onto rows), array of arrays ([["Header", ...], ["value", ...]] for positional data), or a columns object ({ "Header": ["v1", "v2"], ... }) that is great for plotting libraries and DataFrame-style ingestion. colspan and rowspan are expanded into a dense grid you can pick a policy for: Duplicate value fills every spanned slot with the same text (best when you plan to filter or pivot the result), and Leave blank fills spanned slots with empty strings (best when you want to preserve the visual shape of the original table). Cells that contain block-level elements (paragraphs, list items, divs) are joined with a space so prose cells stay on one line, and <br> tags can optionally become real newlines so multi-line cells (addresses, song lyrics, code samples) survive intact. Links inside cells follow a configurable policy: keep just the link text, keep the text plus the URL in parentheses (great for archiving sources), or replace the link with just its href. Type coercion is optional and conservative: empty cells become JSON null, true and false become booleans, and strict numeric strings become numbers, while values with leading zeros (SKUs, ZIP codes, phone numbers) stay as strings so the meaning of the source data is preserved. Duplicate header names can be deduplicated with _2, _3 suffixes so every object key stays unique. A live preview below shows exactly how the chosen table will be parsed, with header rows styled separately from body rows and coerced values colored so you can verify the structure before you copy. When the HTML contains multiple tables you can pick a single one to extract, or choose All tables to emit an array of tables with their captions. A Download button saves the JSON as a real file with a sensible name derived from the table's <caption> when one is present. Useful for turning rendered HTML reports into structured data, harvesting Wikipedia infoboxes, exporting tables embedded in internal HTML reports, scraping documentation pricing tables into typed fixtures, building API mocks from a one-off HTML capture, and feeding tables into pandas, jq, or any other JSON-driven pipeline. Everything runs locally in your browser, so the pages and reports you paste here, including any internal data, never leave your device.

Free to use. Works in your browser. No signup, no login.

Related tools

You may also like

All tools
All toolsConverter Tools