1. Home
  2. Spreadsheet & data tools
  3. CSV to HTML Table

CSV to HTML Table

Put a price list on a website, a timetable in a newsletter or a result table in a CMS: generate accessible table markup from your data instead of typing tags.

Free, no sign-up. Runs in your browser: nothing is uploaded.

How to use CSV to HTML Table

  1. Paste data or drop a CSV or Excel file.
  2. Choose the styling, caption and options.
  3. Copy the HTML or download it as a page.

Features

  • Semantic table with thead, tbody and scope attributes
  • Every value HTML-escaped
  • Optional caption, class name and stripes
  • Plain markup or with a small embedded style
  • Live preview

Supported formats

You can open

  • CSV
  • TSV
  • TXT
  • XLSX
  • Pasted data

You get

  • HTML file
  • Copied text

Private by design

Your files are opened and processed by your browser on this device. They are never uploaded to openWorkstand or anyone else, so the CSV to HTML Table is safe for contracts, IDs, photos and work documents. After you have used it once while online, it also works without an internet connection. How local processing works

Good to know

  • Values are escaped as text, so HTML inside cells is shown, not rendered.

Guide

Generating clean HTML table code from CSV, Excel or pasted cells

Tables are among the most useful elements on a web page and among the most tedious to write by hand. A price list, a timetable, a comparison of plans or a set of results needs dozens of tags, and one missing closing tag shifts a column. This tool turns spreadsheet data into clean, accessible HTML table code.

Getting the data in

Paste cells copied from a spreadsheet, or drop a CSV, TSV or Excel file. The first row becomes the header row of the table; switch that off if your data has no header.

What the markup looks like

The table uses semantic elements: a <thead> containing header cells marked with scope="col", which screen readers use to announce the column for each value, and a <tbody> with the data rows. Columns that contain only numbers get class="num", so they can be right-aligned and numbers line up. An optional caption describes the table for all readers and search engines.

Escaping

Every value is HTML-escaped: ampersands, angle brackets and quotes become entities. Text such as <b> or <script> in your data therefore appears as text and can never change the page or run code. Line breaks inside cells become <br> tags.

Styling

“With a small style” adds a compact embedded stylesheet: light borders between rows, a tinted header, right-aligned numbers and optional zebra stripes. The table sits in a wrapper that scrolls sideways on narrow phone screens instead of breaking the page layout. “Plain markup” leaves styling to your website, which is better when your theme already styles tables or your editor removes <style> elements.

Class name and formatting

Set a class name that matches your site’s CSS conventions; the embedded style uses it so it does not affect other tables on the page. “One row per line” produces readable, indented code; switch it off for compact output.

Preview and export

The preview shows the table in an isolated, sandboxed frame. Copy the HTML into your page or CMS, or download a complete standalone HTML page, handy for sharing results as a single file or opening them in any browser.

Accessibility tips

Keep header names short and descriptive, add a caption that says what the table shows, avoid empty header cells, and do not use tables for layout. These small steps help screen-reader users and also make your content clearer for everyone.

Large tables

A table with a few hundred rows is fine on a web page. For thousands of rows, consider splitting it into pages or offering the data as a download instead, since very long tables load slowly on phones and are hard to read. The Split CSV File tool cuts data into parts if you want several smaller tables.

Updating the table later

Keep the spreadsheet as the master copy. When prices or times change, update the spreadsheet, generate the HTML again and replace the old table on the page. That is faster and safer than editing table code by hand.

For documentation in Markdown, use CSV to Markdown Table. To escape snippets of text for HTML, try the HTML Encoder. To print a page as a PDF, use HTML to PDF.

Checked against the current version of the CSV to HTML Table on .

Troubleshooting

The file does not open

Check that it is one of the supported formats above and opens in another app. Damaged files and password-protected PDFs cannot be read until they are repaired or unlocked.

It is slow or stops on a very large file

Everything runs on your device, so speed depends on its memory. Close other tabs, use a computer rather than a phone, or split the file into smaller parts first.

The download did not start

Look for your browser’s download bar or icon. Some browsers ask once before a site may download files; allow it and click the button again.

Frequently asked questions

Can I paste the code into WordPress or another CMS?

Yes. Use a Custom HTML block or the code view of the editor. Some editors strip <style> elements; in that case choose “Plain markup” and style the table with your theme’s CSS.

Will the table work in an email newsletter?

Plain markup works in most email programs. Many of them ignore <style> blocks, so for emails choose plain markup and test with a message to yourself before sending.

Is the HTML safe to paste into my site?

Every value is escaped, so text such as <script> appears as text and is never run. Review generated code before publishing anyway, as with any content.

Will the table work on phones?

With the built-in style, the table scrolls sideways inside its container on narrow screens instead of breaking the page layout.

Keep working with the result

After you download, choose “Save to Workstand” to keep the result in a folder on your computer, attach it to a project and create a follow-up task. It is saved by your browser, not uploaded.