Plugin Information

TablePress is the most popular and highest-rated WordPress table plugin. It allows you to easily create and manage attractive tables on your website.

You can embed the tables into posts, pages, or other site areas using a block in the block editor. Table data can be edited in a spreadsheet-like interface, without any coding. Tables can contain any type of data, even math formulas that will be evaluated. Additional features like sorting, pagination, and filtering make it easy for site visitors to interact with the table data. Tables can be imported and exported from/to Excel, CSV, HTML, and JSON files.

Download

Current Version: TablePress 2.4.1
Release date: August 13th, 2024
Requirements: WordPress 6.0 or higher, PHP 7.2 or newer
License: GNU General Public License 2 (GNU GPL2)

If you like TablePress, please rate and review it in the WordPress Plugin Directory.

#download-overlay{width:800px!important}.popup-wrapper{margin:0;background-color:#fff;border:1px solid #ddd;border-radius:5px;box-shadow:0 0 0 1000px rgba(0,0,0,.6);overflow:hidden;display:none}.popup-title{padding:10px 15px;background-color:#f4f4f4;border-bottom:1px solid #f0f0f0}.popup-title h2{font-weight:600!important}.popup-body{padding:16px;margin-top:0}.popup-close{float:right;padding:0 2px;font-size:32px;line-height:1;border:0;background:0 0;color:#999}.popup-close:hover{color:#333} if ( window.innerWidth > 820 && window.innerHeight > 620 ) { !(function(global, factory) { factory(global.jQuery, global); }(this, function($, global) { ‘use strict’; var win = window; var doc = document; var docEl = doc.documentElement; var defaults = { width: 800, height: 600, offsetX: 0, offsetY: 0, zIndex: 999, closeBtnClass: ‘popup-close’ }; var extend = function(to, from) { for (var p in from) { if (from.hasOwnProperty(p)) { to[p] = from[p]; } } return to; }; var winW = function() { return win.innerWidth || docEl.clientWidth; }; var winH = function() { return win.innerHeight || docEl.clientHeight; }; var scrollX = function() { return win.pageXOffset || docEl.scrollLeft; }; var scrollY = function() { return win.pageYOffset || docEl.scrollTop; }; var byClass = function(cls, el) { el = el || doc; if (el.getElementsByClassName) { return el.getElementsByClassName(cls); } else { var ret = []; var re = new RegExp(‘^|\\s+’ + cls + ‘\\s+|$’); var tags = el.getElementsByTagName(‘*’); for (var i = 0, len = tags.length; i { e.preventDefault(); popup.open(); const closePopup = ( e ) => { if ( ! e?.target?.closest( ‘#download-overlay’ )) { document.body.removeEventListener(‘click’, closePopup); popup.close(); } }; setTimeout( () => { document.body.addEventListener(‘click’, closePopup); }, 1 ); window.fathom?.trackEvent(‘info-‘+e?.target?.parentNode?.id); }; document.getElementById(‘download-button’).addEventListener(‘click’, openPopup); }

Features

TablePress allows you to do the following (not necessarily a complete list):

  • Manage and edit tables in your site’s WordPress Dashboard
  • Embed tables in your posts, on pages, or in text widgets using:
    • a block in the block editor,
    • a Shortcode in the classic editor,
    • a template tag function in your theme
  • Table features include (may be enabled for each table individually):
    • Any content you like: Text, numbers, images, links, even HTML or JavaScript
    • Excel-like math formulas in tables
    • Table structure can contain connected/combined cells
    • First row can be table head row
    • Last row can be table foot row
    • Alternating row background colors
    • Row highlighting (when hovered with the mouse)
    • Print table name above or under the table
    • Print table description above or under the table
    • Features of the DataTables JavaScript library, like sorting, pagination, filtering/search, scrolling of table data (see the Demo Table)
    • Individual styling of your table via CSS code possible (e.g. for sizing or color changes)
  • Functions in the editing interface include:
    • Add/create tables (by manual input)
    • Import tables (in Excel (.xls/.xlsx), CSV, HTML, or JSON format, from file upload, URLs, server location, or direct input), even with bulk import
    • Export/save/backup tables to most of these formats, even with bulk export
    • Edit the table data and structure (add/insert/delete/move/swap/duplicate/hide columns/rows, sort columns)
    • Easily add links or images to your table (from the Media Library)
    • Advanced editor for styling changes without having to know HTML
    • Copy/duplicate and delete tables
    • Preview of the table

Screenshots

These screenshots show the TablePress user interface:

History and Motivation

Back in 2009, I wanted to show tables, for schedules, rosters, stats, etc., on my baseball team’s website, which is using WordPress. I didn’t want to mess with HTML tables in the code (as they are very hard to maintain and manage), so I decided to try to write a WordPress plugin myself. I did some reading on WordPress plugin development and based on Alex Rabe’s wp-Table plugin, I created “WP-Table Reloaded”, which quickly became popular. Unfortunately, as I had to learn later on, some bad design decisions made the plugin hard to maintain, and could even lead to data loss for certain server configurations. To fix these problems and issues, I decided that a complete rewrite of the plugin was necessary. With that, TablePress was born, and quickly outgrew all expectations I ever had for it 🙂
For more on my motivation, also read this interview that I gave about WP-Table Reloaded and TablePress.

Installation

Installation
The easiest way to install TablePress is via your WordPress Dashboard. Go to the “Plugins” screen, click “Add New”, and search for “TablePress” in the WordPress Plugin Directory. Then, click “Install Now” and wait a moment. Finally, click “Activate” and start using the plugin!

Manual Installation works just as for most other WordPress plugins:

  1. Download the plugin’s ZIP file.
  2. Extract the file: You’ll get a folder called “tablepress”.
  3. Upload that folder to the “wp-content/plugins/” directory on your server.
  4. Go to the “Plugins” page in your WordPress Dashboard.
  5. Find “TablePress” in the list and click “Activate”.

Uninstalling, Deactivation
To completely remove all data, including tables and plugin settings, you can use the “Uninstall” button on the “Plugin Options” screen of TablePress. It is recommended to create a backup of your site, e.g. using the easy to use WP Staging plugin, or to export your tables to files on your computer, just in case that you change your mind.
If you want to keep your tables and data, you can simply deactivate TablePress on the “Plugins” screen of your site’s Dashboard.

Update
WordPress will notify you, when a plugin update for TablePress is available. The easiest way is then to click “Update automatically” to get the latest version. It is recommended to enable Auto-Updates for TablePress, so that new versions will be installed by WordPress automatically.
To manually update, you could download the plugin’s ZIP file and upload it on the “Plugins” screen. Alternatively, delete the old plugin folder on the server, e.g. via FTP, and replace it with the new one, extracted from the freshly downloaded ZIP file.

Usage

After installing the plugin, you can add, import, export, edit, copy, delete, … tables via the “TablePress” section in your admin menu.

To insert a table into a post or page, add a “TablePress table” block in the block editor and select the desired table.

Alternatively, for non-block themes, embed the Shortcode

[table id=<table ID> /]Code language: JSON / JSON with Comments (json)

into your post or page. Each table has a unique ID that needs to be pasted into that Shortcode, instead of the <table ID> part. It can be found on the left side of the “All Tables” screen of TablePress.

To insert a table somewhere else in your theme, you can use a Template Tag function. Please see the Documentation for more information.

After that you might want to change the styling of the table. For that, just enter your desired CSS style information into the “Custom CSS” textarea on the “Plugin Options” screen. Some examples for common styling changes can be found in the plugin FAQ.

You may also add certain features (like Sorting, Pagination, Filtering/Search, Alternating Row Colors, Row Highlighting, Print name and/or description, …) by checking the corresponding checkboxes on the table’s “Edit” screen.

Languages and Localization

TablePress is available in several different languages. If a translation is available for the language that you have selected for your WordPress installation in the “General Options”, it will be installed and used automatically. For a list of available translations, please see the sidebar on the TablePress page in the WordPress Plugin Directory.

To make TablePress available in your language, go to the TablePress translations page, log in with a free wordpress.org account and start translating.

Credits and Thanks

Special Thanks go to Allan Jardine for the DataTables JavaScript library, and all customers, donors, translators, contributors, supporters, reviewers, and users of the plugin! Thank you!

Changelog

By the way: This table uses the Responsive Tables and Row Grouping Premium features.

Attention: The internal data of table “changelog” is corrupted!
window.addEventListener(‘DOMContentLoaded’,()=>{const o=new IntersectionObserver(d=>{d.forEach(e=>{const id=e.target.getAttribute(‘id’).slice(8);document.querySelector(`.wp-block-table-of-contents li a[href$=”#${id}”]`)?.parentElement.classList.toggle(‘active’,e.intersectionRatio>0);});});document.querySelectorAll(‘section[id]’).forEach(s=>{o.observe(s);});});