Accessible table generator
Create HTML tables with captions and correctly scoped headers.
How to use Accessible table generator
The accessible table generator converts CSV data into an HTML table with a caption, a header row whose cells use scope="col", and an optional first-column row header using scope="row". The first CSV row supplies the column headers, which must be unique and nonempty. Cell text is HTML-escaped, and up to 500 data rows are converted into downloadable markup.
- Paste the source into the input editor, or load the built-in example.
- Set table caption, first column is a row header.
- Run accessible table generator, review the output, then use the available copy or download controls.
What this tool supports
Create HTML tables with captions and correctly scoped headers.
- Table caption
- Set this value for your task.
- First column is a row header
- Set this value for your task.
Limits and processing
Images use the existing 32-megapixel canvas bound. Up to 100 source images are allowed where supported. Pasted HTML is bounded to 200,000 characters; Mermaid diagrams to 20,000 characters and 300 lines. SVG and PNG generation require a browser.
Example source
Month,Revenue January,100 February,120
Frequently asked questions
What do scope=col and scope=row do in an HTML table?
Scope tells assistive technology which cells a header describes: col for its column, row for its row. The generator applies col to every header from the first CSV line and row to the first cell of each data row when that option is on.
Why does an accessible table need a caption?
A caption element gives the table a visible title that assistive technology announces with the data. Enter it in Table caption; the default text, Monthly totals, should be replaced with a short description of your table.
Why does my CSV fail to convert into a table?
Every row needs the same number of columns as the header row, headers must be unique and nonempty, and at most 500 data rows are allowed. Quoted fields that contain commas are handled by the CSV parser.
Where is my input processed?
This operation processes its source in your browser. Copy and download are explicit actions; source input is not saved in an account or history.
What are the input limits?
Images use the existing 32-megapixel canvas bound. Up to 100 source images are allowed where supported. Pasted HTML is bounded to 200,000 characters; Mermaid diagrams to 20,000 characters and 300 lines. SVG and PNG generation require a browser.