Tutorial · 4 min read

How to Display CSV Data as a Table in WordPress

You have data in a spreadsheet. You want it on your WordPress site as a readable, styled table — not a raw file download, not a screenshot. Here's the simplest way to do it without installing anything.


Export your data as CSV first

The most spreadsheet applications can export as CSV. In Excel, go to File → Save As and choose CSV. In Google Sheets, go to File → Download → Comma-separated values. The result is a plain text file your browser can read.

A typical CSV looks like this:

Region,Q1 Sales,Q2 Sales,Growth
Oslo,4 200,4 800,+14%
Bergen,2 800,3 100,+11%
Trondheim,1 950,2 200,+13%

Why not paste CSV directly into WordPress?

WordPress will display the raw comma-separated text — not a table. The browser has no way to know you intended rows and columns from a plain text string. What you need is an HTML <table> element with proper <thead>, <tbody>, and <td> tags — and that's exactly what the next step generates for you.

Convert and paste — three steps

01
Upload your CSV to MakeMyHTML

Go to makemyhtml.com, upload your CSV file or paste the data directly. Your data appears instantly as an editable preview — no account, no sign-up.

02
Style and configure your table

Choose which columns to include, set colours and font sizes, and pick a theme. You can add inline progress bars to numeric columns to make values easier to scan at a glance. Preview the result at your WordPress content column width before you export.

03
Copy the HTML and paste into WordPress

Click HTML Code to get a self-contained block of HTML and CSS. In the WordPress editor, add a Custom HTML block — click the + button and search for «Custom HTML» — then paste the code. Switch to preview and your table renders exactly as configured.

What about theme styles overriding my table?

WordPress themes often apply their own CSS to <table> elements, which can override your custom styling. MakeMyHTML handles this automatically by scoping all styles to your specific table, so theme styles cannot interfere. If you're on a theme that's particularly aggressive with its own table styling, switch to the Max compatibility export option in the HTML Code panel — this moves all styles inline, making them effectively immune to any external CSS.

Keeping your table up to date

When your data changes, export a fresh CSV, upload it to MakeMyHTML, apply the same settings, and paste the new HTML over the old block. The whole process takes under a minute. If you update your data regularly, consider saving your session in the browser — MakeMyHTML remembers your column settings and theme so you don't have to reconfigure from scratch each time.

Turn your CSV into a styled WordPress table in seconds.

Try MakeMyHTML — it's free →