Tablecloth is a powerful and flexible data tables solution built specifically for CraftCMS. It allows for building a front facing table or index page for any of Craft's native elements, as well as Products and Variants for Craft Commerce, and supports all native fields types (+ Redactor), including Matrix and Table fields (rendered in child rows).

The plugin comes with a default table powered by Tailwind and AlpineJS. The user can override any component or the entire table, and even change the table layout to a card layout (e.g for displaying products). All table functionality can be triggered programmatically, including filtering, sorting, pagination and row selection, which allows for a complete separation of UI and behavior. The package supports creating presets of reusable tables that can be used across data sources.

Click here for a demo of a blog listing page built using Tablecloth, including free-text filter, category filter, sorting by post date and pagination. Here is a guide explaining how this page was created.

The basic process of building a table/index usually consists of two steps:

  1. Defining the table data source (e.g Entries or Products), columns and options on Craft's backend. If necessary, source data can be further narrowed down (or prefiltered) using raw SQL under the "Advanced" tab.
  2. (Optional, depending on the table) Creating twig templates for the table and/or specific columns or column types, with simple and declarative AlpineJS syntax.

The table can then be rendered anywhere in the page with a simple twig function.


  • Supertable support
  • Neo support
  • External data sources
  • Grouping
  • And so much more... Just ask!

Plus $29/year after one year.

Installation Instructions

To install this plugin, copy the command above to your terminal.

Active Installs
Craft 3, Craft 4
Last release
February 29, 2024
Activity (30 days)
Closed Issues
Open Issues
Merged PRs
Open PRs