How to Use TablePress: The Complete Tutorial for Creating, Merging & Styling WordPress Tables


Tables are everywhere in modern web design: pricing plans, product comparisons, sports standings, class schedules, and data-heavy reports. If you have tried building them with the default WordPress editor, you already know how painful it can be — no easy way to sort columns, merge cells, or keep your data in one place and reuse it across multiple pages. TablePress solves all of that. It is one of the most popular table plugins for WordPress, and in this complete TablePress tutorial you will learn how to install it, create your first table, display it on your site, merge cells, style it like a professional, and import or export data with ease.
What Is the TablePress Plugin?
TablePress is a free, open-source WordPress plugin that lets you create and manage tables without touching code. Each table is stored as its own entity in the WordPress database, so you create it once and insert it anywhere — a post, a page, a widget area, or even inside a page builder like Elementor. Every time you update the original table, all places where it is displayed update automatically. That single “manage once, display everywhere” workflow is the main reason millions of site owners choose TablePress over copy-pasting static HTML tables.
Out of the box, TablePress gives you a spreadsheet-like editing experience with these visitor-facing features that you can toggle on per table:
- Sorting — visitors can click a column header to sort rows up or down.
- Search / Filtering — a live search box that filters table rows instantly.
- Pagination — split long tables into pages of 10, 20, or more rows.
- Info line — “Showing 1 to 10 of 42 entries” style feedback.
- Alternating row colors, hover highlighting, and printable table names.
The plugin is actively maintained, has a clean and accessible markup output (great for SEO), and works with all modern themes. Optional premium “modules” add extras like responsive tables or advanced styling, but the free version is more than enough for most websites — everything in this guide is done with the free plugin.
How to Install and Activate TablePress
Installing TablePress takes less than a minute and follows the standard WordPress plugin workflow:
- Go to Plugins → Add New Plugin in your WordPress dashboard.
- Type “TablePress” in the search box. The plugin by Tobias Bäthge should appear first.
- Click Install Now, then click Activate.
- A new TablePress menu item appears in the left admin sidebar. That is your control center.
If you prefer to install it manually, download the ZIP file from WordPress.org and use Plugins → Add New Plugin → Upload Plugin. After activation, no configuration wizard is required — TablePress works out of the box, so you can jump straight into building tables.
TablePress Basics: Creating and Displaying Your First Table
Step 1 — Add a New Table
Go to TablePress → Add New Table. You will see three simple fields:
- Table Name — an internal label such as “Product Pricing 2026”. It can also be shown to visitors if you enable “Print Table Name”.
- Description — optional notes for your own reference.
- Number of rows and columns — the starting grid size. Do not worry about being precise; you can add or remove rows and columns at any time later.
Click Add Table and you land on the Edit Table screen.
Step 2 — Enter Your Data
Scroll to the Table Content section. You get a visual grid that behaves like a mini spreadsheet: click into any cell and type, press Tab to jump to the next cell, and use the click-and-drag fill handle to copy values down a column — the same auto-fill trick you know from Excel or Google Sheets.
By default the first row is the header row, which is perfect for column titles. Cells are not limited to plain text: you can add rich text, hyperlinks, images, and even shortcodes inside cells. The fastest way to work with rows and columns is to right-click a cell — the context menu lets you insert, delete, duplicate, or hide rows and columns without hunting through menus.
When you are done, click Save Changes in the header bar. Use the Preview button at any time to check how the table will look to visitors.
Step 3 — Display the Table on a Page or Post
There are three common ways to place a TablePress table into your content:
- Gutenberg block: In the block editor, add the “TablePress table” block and pick your table from the dropdown in the sidebar. This is the easiest method on modern WordPress sites.
- Shortcode: Paste the shortcode into any post, page, or widget. Each table has a unique ID, visible under TablePress → All Tables. The syntax is simply
[table id=1 /]— replace1with your table’s ID. - Page builders: Elementor and other builders ship a dedicated “TablePress table” widget, so you can pick a table visually.
Because the shortcode and the block point to the same underlying table, any edit you make to the table is reflected instantly everywhere it is used. You never have to update the individual posts again.
Step 4 — Tune the Table Options
Scroll down below the table content to the Table Options panel. Here you control the structure and default appearance:
- Table Head Row / Table Foot Row — how many of the first or last rows are treated as header or footer rows.
- Alternating Row Colors — the classic zebra striping that improves readability.
- Row Hover Highlighting — light up the row the mouse is currently over.
- Print Table Name / Description — optionally show the name above the table or the description below it.
The checkboxes under “Table Features for Site Visitors” control the JavaScript-powered interactivity: enable Sorting, Search/Filtering, Pagination, the Table Info line, and the “entries per page” selector. Important: these features require at least one header row (the default) so that sorting has column titles to work with. When you change any option, remember to Save Changes.
Advanced TablePress Usage
Once the basics feel comfortable, you will want to build more complex layouts. Let us look at the three most requested advanced topics: merging cells, styling tables, and moving data in and out of TablePress.
How to Merge Cells (Rows and Columns) in TablePress
Merging is what turns a plain grid into a real layout. Two types exist:
- Merge cells horizontally (across columns) — for example, one wide cell spanning several columns, often used for group titles. In HTML terms this is a
colspan. - Merge cells vertically (down rows) — for example, a category label that stretches over several rows. In HTML terms this is a
rowspan.
In the TablePress visual editor, merging is easy:
- Select the cells you want to combine. You can click and drag across a rectangular area, or Ctrl/Cmd-click to add individual cells to the selection.
- Right-click inside the selection and choose the merge option from the context menu (or use the merge button in the editor toolbar if your theme’s editor shows it).
- Only the content of the top-left cell of the selection is kept; the other values are removed, so copy anything you want to preserve first.
- Click Save Changes and check the result with Preview.
If you need to undo a merge later, select the merged cell and choose the unmerge / split option. A practical example: in a product comparison table you can merge the header row cells above each product group (“Basic”, “Pro”, “Business”) while keeping the first column as row labels.
One tip from experience: keep merged cells out of the first row if you rely on sorting and filtering, because visitor features work best with a clean, one-row header. If a merged header is unavoidable, consider disabling sorting for that table.
How to Style and Beautify Tables with CSS
TablePress ships with a clean default style that fits most sites, but the real power is in the Custom CSS feature. All styling is done in one safe place:
- Go to TablePress → Plugin Options.
- Open the “Custom CSS” tab.
- Paste your CSS into the textarea and click Save Changes.
CSS added there overrides the default styles and survives plugin updates — much better than editing theme files. To target tables, TablePress generates predictable CSS selectors:
.tablepress— applies to every TablePress table on your site..tablepress-id-3— applies only to the table with ID 3..tablepress-id-3 thead th— the header cells of that table..tablepress-id-3 .row-2 .column-4— the exact cell in row 2, column 4.
For example, to give table ID 3 a branded look, add this:
.tablepress-id-3 thead th {
background-color: #1d4ed8;
color: #ffffff;
}
.tablepress-id-3 tbody td {
padding: 12px;
font-size: 15px;
}
.tablepress-id-3 .row-1 .column-1 {
background-color: #fef3c7;
font-weight: bold;
}TablePress also exposes CSS variables so you can re-skin a table without writing verbose rules. To change the header and striping colors site-wide, add:
.tablepress {
--head-bg-color: #0f766e;
--head-text-color: #ffffff;
--odd-bg-color: #f8fafc;
--even-bg-color: #ffffff;
--hover-bg-color: #ccfbf1;
--padding: 10px;
}Other common tweaks are easy, too: remove all borders (border: none on the table and its cells), set column widths (.tablepress-id-3 .column-2 { width: 120px; }), center a narrow table with margin: 0 auto, or highlight important values by wrapping them in a <span class="highlight"> and styling that class. If you are not comfortable writing CSS yet, copy the snippets above, change the color values, and experiment — the live Preview button shows results instantly.
How to Make Tables Responsive
Wide tables can overflow on mobile screens. The fastest fix is horizontal scrolling: enable it per table in the Table Options (or via the shortcode parameter datatables_scrollx="true"), which wraps the table in a scrollable container. If you want a fully fluid layout on phones, the premium Responsive Tables module is the professional solution, but for most sites horizontal scrolling plus sensible column widths is perfectly acceptable.
How to Import and Export Tables
You will rarely type a large dataset by hand. TablePress has powerful import and export tools under TablePress → Import and TablePress → Export.
Importing data — you can import from a file on your computer or directly from a URL (handy for pulling a CSV from Google Sheets or another server). Supported formats include:
- CSV — comma-separated values, the lingua franca of spreadsheet exchange. Export from Excel or Google Sheets as CSV and import it here.
- HTML — paste or upload an existing HTML table and TablePress converts it into a managed table.
- JSON — useful when migrating between TablePress installations or generating data programmatically.
- Excel (XLSX) — import directly from modern Excel files.
During an import you choose what happens with the data: add it as a new table, replace an existing table, or merge it into an existing table’s rows/columns. Always check the preview information TablePress shows before confirming, so you do not accidentally overwrite a table you still need.
Exporting data — on the Export screen, pick a single table or check “Export all tables”, choose a format (CSV, HTML, JSON, or Excel), and download the file. Exporting everything to JSON or CSV regularly is an excellent lightweight backup habit — combine it with a full site backup plugin for complete peace of mind.
Import and export also make migrations painless: export your tables from the old site, install TablePress on the new site, and import the file. Your data survives theme or host changes without any manual retyping.
TablePress Best Practices for SEO and User Experience
Tables are real content, and search engines can understand them if you structure them well. Follow these rules:
- Always keep a header row — it defines column names for both visitors and search engines, and it is required for sorting and filtering.
- Give the table a meaningful name and description — they can be displayed and add context for screen readers.
- Do not put critical text only inside tables — summarize the key takeaway in a normal paragraph so readers and crawlers get the message even on a cramped screen.
- Keep tables focused — one comparison per table instead of one giant 40-column monster. Shorter tables load faster and are easier to read on mobile.
- Enable pagination for long tables — hundreds of rows slow down the page and overwhelm users; 10–25 rows per page is a sweet spot.
- Combine TablePress with an SEO plugin such as Yoast SEO, add the page to your sitemap, and let the table reinforce a clearly keyword-focused heading.
Frequently Asked Questions
Is TablePress really free?
Yes. The core plugin is free and open source, and everything covered in this tutorial — creating, merging, styling with custom CSS, sorting, filtering, pagination, and CSV/HTML/JSON/XLSX import and export — works in the free version. Premium modules exist but are optional extras.
Can I use the same table on multiple pages?
Absolutely. Insert the same shortcode or block on as many posts and pages as you like. Because they all reference one stored table, a single edit updates every location automatically.
Does TablePress slow down my website?
No, not in normal use. The JavaScript that powers sorting and search is only loaded on pages that actually contain a table, and the plugin follows WordPress coding standards. As with any plugin, keep it updated and avoid absurdly large tables.
Can visitors sort the table without logging in?
Yes. Sorting, search, and pagination are front-end features for any visitor; you just need to enable them in the Table Options and save the table.
Why is my table not styled correctly?
Most styling problems come from theme CSS conflicts. Use the table-specific selector (.tablepress-id-N) instead of generic .tablepress rules, and if your theme wins the specificity battle, add !important to the property as a last resort.
Conclusion
TablePress turns one of the most tedious jobs in WordPress — building and maintaining tables — into a genuinely pleasant experience. In this tutorial you learned the full workflow: installing the plugin, creating a table with the spreadsheet-style editor, displaying it through the block or the [table id=1 /] shortcode, merging cells for advanced layouts, beautifying tables with custom CSS variables and selectors, and moving data in and out with CSV, HTML, JSON, and Excel files. You also picked up the SEO habits that keep tables accessible and search-friendly.
The best way to master TablePress is to practice: create a small pricing table today, add sorting and search, then merge its header and give it your brand colors. In ten minutes you will wonder how you ever lived without it. If this guide helped you, share it with a fellow WordPress user — and check back for more practical plugin tutorials.











