Free Elementor Table Widget
Elementor has no table widget of its own, in the free or the Pro version. Dynamic Table is a free Master Addons widget that fills that gap: you add header cells and body cells in the Elementor panel, and it builds a real HTML table you can style without code. Cells can hold text, an icon or an image, merge across columns or rows, and pull values from dynamic tags. It is often used for schedules, spec sheets, price lists and directories.
How to Make a Table in Elementor
In the Elementor panel the widget is called Dynamic Table.
- Install Master Addons for Elementor and check that Dynamic Table is switched on in the Master Addons widget settings.
- Edit your page with Elementor, search for Dynamic Table and drag it in. It starts with a sample four-column table.
- In Table Head, add one Table Header Cell per column and type each Column Name.
- In Table Body, add one item per cell from left to right. Turn on New Row? on the first cell of every row after the first.
- Use Column Span or Row Span in a cell’s Options tab to merge cells.
- Style the table in the Style tab and leave Responsive Table? on so rows stack on phones, then update the page.
Build Rows and Columns in the Panel
The table comes from two repeaters. Table Header Cell holds one item per column, and Table Body Cell holds every cell in reading order, with a New Row? switch that starts the next row. You can drag items to reorder them, duplicate a cell, or hide the header row with the Table Head switch.
- Merged cells: Column Span on header and body cells, and Row Span on body cells.
- Column width: turn on Custom Width in a cell’s Options tab to set its width.
- Text options per cell: alignment (left, center, right or justify) and decoration (underline, overline or line through).
Header and Body Styling
Table Header Style sets the header background (dark navy by default), text color, icon size and color, alignment, typography and inner cell padding. Table Body has the same controls for the data cells, plus padding around icons.
- Header: background, text and icon colors, icon size, alignment, typography and cell padding.
- Body: background, text and icon colors, icon size and padding, alignment, typography and cell padding.
- Alignment per device: header and body alignment can change on tablet and mobile.
Text, Icons, Images and Dynamic Tags in Cells
Every header and body cell has a Type option: None, Icon or Image. Icons come from the Elementor icon library, and images get an Image Size in pixels. The text fields accept dynamic tags, including the ones from the free Dynamic Tags extension, so a cell can show a post title, a custom field or author details. Each tag fills one cell. The widget does not loop through posts to build rows for you.
- Icons as checkmarks: use a tick or cross icon in plan or feature comparisons.
- Small images: add a photo or logo next to a name, sized in pixels.
- Dynamic tags: pull single values such as the post title or a custom field.
Global Style: Stripes, Borders and Corners
Global Style applies to the whole table. Striped Table? is on by default with a light grey (#eee) stripe color you can change. You also set a table Background Color, Inner Cell Padding, a border with type, width and color, and Border Radius for rounded corners.
- Zebra rows: keep striping on for long tables so rows are easy to follow.
- Borders: solid, dashed, dotted or double lines around the cells.
- Rounded corners: Border Radius softens the edge of the table.
HTML Table Code vs the Dynamic Table Widget
Without a table widget, the usual way to add a table in Elementor is to write the HTML yourself in an HTML widget. Here is how that compares with the widget.
| Feature | HTML widget with your own code | Master Addons Dynamic Table |
|---|---|---|
| Price | Free (Elementor core) | Free |
| Building rows and columns | Write table, tr and td tags | Repeater items in the panel |
| Styling | Your own CSS | Style tab controls |
| Merged cells | colspan and rowspan attributes | Column Span and Row Span fields |
| Icons and images in cells | Paste the markup | Icon library or media library |
| Dynamic tags | No | Yes, one value per cell |
| Phone layout | Your own media queries | Rows stack into cards |
| Sorting, search, CSV import | Needs a script or plugin | No |
If you need sorting, search, pagination or CSV import, a dedicated table plugin such as TablePress is the better choice. For a styled table you edit inside Elementor, the widget saves you writing HTML and CSS.
Related: Pricing Table (free), Comparison Table (Pro) and Dynamic Tags (free).
Frequently Asked Questions For Dynamic Table
Is there a table widget in Elementor?
Not in Elementor itself, free or Pro. Master Addons adds one for free: the Dynamic Table widget builds the table from header and body cells in the panel.
Is the table responsive on mobile devices?
Yes, with Responsive Table? turned on, which is the default. On devices up to 768px wide each row stacks into a card and every cell shows its column name as a label. Turn it off to keep the normal table layout on phones.
Can I use dynamic data in the cells?
Yes, one value per cell. Header and body text accept dynamic tags, including the free Master Addons Dynamic Tags such as post title, custom field and author info. The widget does not create a row for each post, so every row is still built by hand.
What happens if I add very long text in a cell?
The text wraps inside the cell. Turn on Custom Width in the cell’s Options tab to fix the column width, and raise Inner Cell Padding if rows feel cramped.
Can I highlight one column, like a popular plan?
Not with a single setting. Colors apply to the whole header or the whole body. For plan tables, the Pricing Table widget (free) has a Highlight option, and the Comparison Table widget (Pro) is built for plan comparisons.
Can I sort, search or import a CSV into the table?
No. The widget has no sorting, search, pagination or CSV import. For those, use a data table plugin such as TablePress and place its shortcode on the page.
Trending Elementor Widgets & Extensions
Build sophisticated websites in less time.
Glassmorphism
Container Extras
Patterns
Post/Page Duplicator