Table Repeater Fields

5 min read

Table repeater fields let respondents add multiple rows of structured data to a form. Each row has the same set of columns that you define, and respondents can add as many rows as they need. This is the right field type when you need to collect a variable-length list of items that share the same structure.

What Table Repeater Does

A table repeater renders as a table on the form. You define the columns, and respondents fill in rows. Each row represents one item, and respondents can add, remove, or duplicate rows as they go. The table structure ensures consistent data across all entries.

Use Cases

Table repeaters are ideal for collecting lists of items with uniform structure:

  • Order lines: Product name, quantity, unit price, and notes for each item in an order.
  • Employee lists: Name, role, email, and start date for each team member being registered.
  • Expense items: Date, category, description, and amount for each expense in a reimbursement request.
  • Event attendees: Name, email, dietary restrictions, and T-shirt size for each guest.
  • Inventory counts: Item code, location, expected quantity, and actual quantity for each product.

Configuring Columns

When you add a table repeater field to your form, you configure the columns that define the structure of each row. Each column has its own type and settings:

  • Text: A single-line text input for names, descriptions, or short answers.
  • Number: A numeric input with optional min, max, and step values. Great for quantities, prices, and measurements.
  • Dropdown: A select menu with predefined options. Useful for categories, statuses, or sizes.
  • Date: A date picker for dates, deadlines, or timestamps.

To add a column, click Add Column in the table repeater settings. Give it a header label, choose the column type, and configure any type-specific options like dropdown choices or number ranges.

You can reorder columns by dragging them in the settings panel. The column order in settings matches the column order in the table on the form.

Setting Minimum and Maximum Rows

Control how many rows respondents can add:

  • Minimum rows: The table starts with this many pre-filled empty rows and respondents cannot remove rows below this count. Set this to 1 if at least one entry is required.
  • Maximum rows: The upper limit on how many rows a respondent can add. The Add Row button is disabled once this limit is reached. Leave blank for unlimited rows.

For example, an expense report form might require at least 1 row and cap at 50 rows.

Row Operations

Respondents interact with rows using the following actions:

  • Add row: Click the + Add Row button below the table to append a new empty row.
  • Remove row: Click the delete icon on the right side of any row to remove it. If the table is at the minimum row count, the delete button is hidden.
  • Duplicate row: Click the duplicate icon on a row to copy its values into a new row below it. This is helpful when adding similar items.

Row numbers are displayed on the left side of the table for easy reference.

Validation Per Cell

Each column can have its own validation rules, and those rules apply to every cell in that column:

  • Required columns: Mark a column as required to ensure every row has a value in that column. Empty cells in required columns will trigger a validation error.
  • Number ranges: For number columns, set min and max values. For example, a quantity column might require values between 1 and 999.
  • Text patterns: For text columns, apply a regex pattern. For example, a product code column might require a specific format like "PRD-XXXX".
  • Unique values: Require that values in a column are unique across all rows. Useful for identifiers like employee IDs or email addresses.

Validation errors are shown inline next to the specific cell that has the problem, making it easy for respondents to find and fix issues.

Data Export Format

When you export responses that include table repeater data, each row in the repeater becomes a separate row in the export. The parent form fields are repeated for each table row. For example, if a response has 3 expense items, the CSV export will contain 3 rows for that response, with the respondent's name and email repeated on each row.

In JSON exports, the table repeater data is represented as an array of objects:

{
  "expense_items": [
    { "date": "2025-03-01", "category": "Travel", "description": "Flight to NYC", "amount": 450.00 },
    { "date": "2025-03-01", "category": "Meals", "description": "Client dinner", "amount": 85.50 },
    { "date": "2025-03-02", "category": "Transport", "description": "Taxi to office", "amount": 32.00 }
  ]
}

Integrations like Google Sheets and webhooks receive the same structured array format, so you can process multi-row data in your automations.

Ready to Build Your Form? Start With Drag and Drop

Get lifetime access for just $37. No subscriptions or recurring fees. Create beautiful forms and own the tool forever.

14-day money-back· Instant access
Table Repeater Fields