Skip to content

All Table Types at a Glance ​

The Create a table screen lists every kind of table you can build in Ninja Tables. Open it from Create Table in the top bar, or the New table button on the Tables list. This page explains what each option does and what its panel asks for, so you can pick the right one before you start.

How the Create a table screen works ​

The options are grouped into two sections:

  • Start from scratch: you type, upload or design the content yourself. Ninja Tables stores the rows.
  • Connect live data: the rows come from somewhere else, such as WordPress posts, a WooCommerce store or a Google Sheet. The table updates when the source changes, and its rows are read-only in Ninja Tables. See How connected tables work.

Click a tile to open its panel on the right. Fill in the panel and click Create table (or Next for options with two steps). The new table opens in the editor. Click Cancel to close a panel without creating anything.

You can also drag a CSV, Excel or JSON file anywhere onto the Create a table screen. A "Drop to import" overlay appears, and Ninja Tables opens the Upload a file panel with your file already picked.

Start from scratch ​

OptionWhat it's forEngineLearn more
Default table"Manually create a table." Type or paste your own rows into a spreadsheet-style grid.DataTables (default) or FooTable, chosen at creationCreate your first table
Upload a file"CSV, Excel (.xlsx) or JSON." The columns and rows come from the file.DataTables (default) or FooTable, chosen at creationImport a CSV, Excel or JSON file
Drag & Drop table"Free layout or a ready-made template." Design a layout cell by cell, such as a pricing or comparison table.Its own builderCreate a Drag & Drop table

All three are free. Here is what each panel asks for:

  • Default table: a Table name (required), a Description and the engine line. The table is created empty and opens on Table Rows.
  • Upload a file: an optional Table name (the file name is used if you leave it empty), a Description, the file, a File type (CSV, Excel, JSON or Ninja Tables JSON, picked from the file name), Large file source (choose a CSV from the media library), Convert to UTF-8 and the engine line. See Import a CSV, Excel or JSON file for both options.
  • Drag & Drop table: pick Create From Scratch (choose 1 to 30 columns and rows; the default is 3 columns and 6 rows) or Import From CSV/JSON (a file up to 1 MB, or a URL with Pro), then click Next and Create Table. Or select a template under Choose a Template, click Next, name the table and click Create Table.

TIP

A Drag & Drop table uses its own shortcode, [ninja_table_builder id="..."], and must be saved once in the builder before it shows on a page.

Connect live data ​

OptionWhat it's forEngineLearn more
WP Posts/CPTs (Pro)"Posts, pages and custom types." Columns for titles, authors, dates, taxonomies, custom fields and more.FooTable, can be changed laterWordPress posts table
WooCommerce products (Pro)"Product catalog with add to cart." Prices, stock and add-to-cart buttons.FooTableWooCommerce products table
WooCommerce reviews (Pro)"Product reviews and ratings."FooTableWooCommerce reviews table
Fluent Forms entries"Live form entries."DataTables (default) or FooTable, can be changed laterFluent Forms entries table
FluentCart products"Products with add to cart."DataTables (default) or FooTable, can be changed laterFluentCart products table
Google Sheets (Pro)"Synced from a Google Sheet." Rows from a Google Sheet published to the web as CSV.DataTables (keeps a synced copy, default when offered) or FooTable (reads the sheet live)Google Sheets table
Remote CSV / JSON (Pro)"Rows from a CSV or JSON URL." Rows from a CSV file at a public URL.DataTables (keeps a synced copy, default when offered) or FooTable (reads the file live)Remote CSV table
Custom SQL query (Pro)"Rows from a database query." A read-only SQL query on your WordPress database or a remote database.DataTables (default) or FooTable, can be changed laterCustom SQL table

Every connected panel starts with a required Table name. The rest of each panel:

  • WP Posts/CPTs: Post types, the Columns to show, Conditions (Only the logged-in user's posts and Rules).
  • WooCommerce products: product categories, tags and types, Hide out of stock items, and the initial order.
  • WooCommerce reviews: Reviews Status (All, Approved or Unapproved) and the products whose reviews you want to show.
  • Fluent Forms entries: the form, the fields to show, Entry Status and Max records. The box is filled with 1000, so clear it to show every entry.
  • FluentCart products: categories and brands (leave a list empty for all), Hide out of stock items, and the initial order.
  • Google Sheets and Remote CSV / JSON: a two-step panel. Step 1 takes the URL (and, on DataTables, a Sync Interval); step 2, Select entry fields, lists the columns read from the URL. Use Previous to go back to step 1.
  • Custom SQL query: the query, and a SQL Connection Type of your own database or a remote one.

Some tiles depend on other plugins:

All tiles always show. If the plugin a tile needs (WooCommerce, FluentCart or Fluent Forms) is missing or inactive, its panel says so and offers an Install or activate button instead of the form.

On the free version, the Pro tiles carry a PRO badge. They still open, but the panel shows a "Pro feature" note with Upgrade to Pro, and you can't create the table. See Free vs Pro.

WARNING

Despite its name, the Remote CSV / JSON tile currently reads CSV files only. A JSON URL is rejected. To show JSON data, upload the JSON file instead.

Which one should I pick? ​

  • You have the data in a spreadsheet and it won't change often: Upload a file.
  • You have a spreadsheet that keeps changing: Google Sheets (Pro), so the table follows the sheet.
  • You want a pricing, comparison or feature table with buttons, icons and ratings in the cells: Drag & Drop table.
  • You want to list products with add-to-cart buttons: WooCommerce products (Pro) or FluentCart products.
  • You want to list blog posts, events or any custom post type: WP Posts/CPTs (Pro).
  • You want to show form submissions: Fluent Forms entries.
  • You'll type the data in yourself: Default table.

Choosing an engine ​

Most panels end with an engine line, for example Engine: DataTables (recommended) · Change. DataTables is the default and holds up well even when a table runs to thousands of rows. Click Change to pick FooTable instead (light, responsive out of the box, good for small tables, and the only engine with the Semantic UI / Bootstrap style library).

For tables that store their own rows (Default and Upload a file), the engine can't be changed after the table is created. Google Sheets and Remote CSV show the engine line only when your Pro version supports synced copies. See FooTable or DataTables: choose an engine.

A link to #/create?source= plus a tile's key opens that tile's panel directly, for example #/create?source=upload. The keys are default, upload, drag_and_drop, wp_posts, woo_table, woo_reviews, fluent_form, fluent_cart, google_spread_sheet, csv and raw_sql. A link to a tile whose plugin is missing opens the panel with the install prompt.