This is a review of Ninja Tables Pro. Ninja Tables comes in a free and a pro version and has been around since 2017. I purchased it 3 years ago and use it on this and other sites. For this review, I’m going to do an overview tour and then do a walk-through using it to display the records from a Custom Post Type.
Video Version
The video version has the complete walk-through. The text version below is a summary.
Why Tables?
This is 2022, tables are dead, right? If you’ve been involved in web design for a while you may have heard that “tables are dead” and wonder why people still use tables plugins. Back in the early days of web design people used tables for page layout and design, to create rows and columns for regular content. That is no longer a good practice, if it ever was, and today you should be using Flexbox or CSS Grid for layout. This is what is meant when people say “tables are dead.” HTML tables were created for display tabular data and they are still the best tool for that job.
A big advantage to displaying data in tables is that they are space efficient and it is easy to quickly scan through the rows. In addition to just displaying data, Ninja Tables also has the ability to format, sort, filter and add formulas. Tables are often used for numerical reports, but using tables also makes sense for displaying any data compact enough that it can be displayed in a row, especially if you need to format the column values or include a custom field.
The Free Version of Ninja Tables
The free version of Ninja Tables is available in the WordPress plugin directory. It has more than 70,000 active installs and more than 270 five star reviews, with an average rating of 4.5. There are 8 of 16 support requests resolved in the last 2 months, so the team is active in helping even free users.

When you install and activate it you get a new admin area with several submenus. The top on is where you create a new table. If there were tables already created then they would show in a list here.

In the Import area you can import CSV, regular JSON, or a JSON file that is from a Ninja Tables export. You can also import from Table Press, Ultimate Tables, and Data Tables Generator.

The Global Appearances area is where you set your layout and style defaults. These defaults are then used as a starting point for any tables you create.

In the Permissions area you can set roles in addition to admin that an administer tables, but that is a pro feature.

When you click to create a new table you get several places where you can start.
- The Default has the most options and is the way I create tables.
- Drag and Drop is a new way to start creating a table. It does have as many options as the Default yet.
- Import Table is where you can create a table from an import.
- There is a good integration between Fluent Forms and Ninja Tables. One use is that you can display submitted forms using a table. Those options are under the Connect Fluent Forms menu item.
- Pro – WP Posts is where you start if you want to create a form from posts or a Custom Post Type. It allows you to pick your post type and some of the fields, and then you transition over automatically to the Default method to complete the work. So it is a shortcut to make it easy to pick your post type.
- Pro – You can connect your form to Google Sheets.
- Pro – You can connect an external CSV.
- Pro – Finally, you can create your own SQL Query.

Using Ninja Tables Pro to Create a Table
When you create a table using the WP Posts method you go through a type of wizard. First you pick your post type and add it to the box on the right.

Then you can pick some fields. You can pick more fields later.

Then when you save, you are taken to the regular table builder along with your choices.

This the the Table Configuration screen. Here you can reorder the columns and create a new one.

This is the add column screen. You can see there are 4 submenus.

This is the Transform Values screen. You can use the magic tags for the columns, along with HTML, to customize the column. You can also turn on to use Excel functions. There are a huge number of text, number, and date functions available for transforming the value of the column data.

It is easy to add simple table filters. This is not a full on filter builder, but you can easily add basic ones.

You can add buttons for printing or exporting the tables as a CSV file.

There is a place where you can change the default text if for example you are using another language.

This is my final result. Note I have an image, then two fields (title and excerpt), then the Genre, the reviewer rating, and a button with the link to the author’s website. There is also a Genre filter, a search box, and the ability to sort columns.

Discussion and Conclusions
So that is the tour of the Ninja Tables admin area and a walk-through of creating a table for a Custom Post Type. Here are some observations and comments.
As we saw during the video, Ninja Tables Pro has a ton of features. I’ve noticed when using the table builder that there are several tabs and on any one tab there may be submenus. Each submenu exposes different features, and then further, some features are exposed when you click an icon, so you sometimes need to search around to find in order to locate a feature or function. However, once you get your bearings, creating tables is straightforward.
The Transform value for a column is very powerful. I think Ninja Tables uses a library that is compatible with Excel so that you are able to use many of the Excel formula functions. I’ve used this feature a fair amount and am impressed with it. I’m also impressed with how easy it is to add basic front-end filters, sorting, and search to a table. I own other WordPress table plugins, but I’ve always been able to do what I needed with Ninja Tables Pro.
Over the years I’ve contacted support a couple of times and found that the team was always helpful and went the extra distance to help. In addition to Ninja Tables Pro, I use several other WPManageNinja plugins on my sites and, thinking about it, I realize I have one or more plugins from this company on every site I’ve built. I think that speaks to the level of respect and trust I have in this team.