Summarize this article with:

Tables look simple until you try building one in Figma. Then you’re stuck deciding: rows or columns first? Components or plain frames?

Learning how to make a table in Figma the right way saves hours of frustration when clients inevitably request changes.

The trick is using auto layout and component variants together. This combination creates tables that resize properly, update globally, and don’t fall apart when you add new data rows.

This guide walks you through building a responsive table component from scratch in 7 steps.

You’ll create reusable cell variants, structure columns with nested auto layout, and set up proper constraints for different viewport sizes.

Takes about 15 minutes. Works for dashboards, pricing pages, admin panels, or any design that needs organized data.

How to Make a Table in Figma

YouTube player

Making a table in Figma is the process of building structured data components using frames, auto layout, and component variants.

You need this when designing dashboards, admin panels, pricing pages, or any user interface that displays organized information.

This guide covers 7 steps requiring 10-15 minutes and basic Figma knowledge.

Prerequisites

Before you start building your table component, gather these requirements:

Have you seen the latest Figma statistics?

Discover comprehensive Figma statistics including revenue growth, market share, user demographics, and funding data.

Check them out →
  • Figma account (desktop app or browser, version 116.0 or later)
  • Basic understanding of the layers panel and properties panel
  • Familiarity with how to make a frame in Figma
  • Time estimate: 10-15 minutes
  • Skill level: Beginner to intermediate

You should also know how to use auto layout in Figma since tables rely heavily on this feature.

Step One: How Do You Create the Base Cell Frame?

Select the Frame Tool (F), draw a rectangle 200px wide by 40px tall on the canvas, then set the fill color to white to create the foundation for all table cells.

Action

Press F on your keyboard to activate the Frame Tool.

Click and drag on the canvas to create a frame with these dimensions:

  • Width: 200px
  • Height: 40px

In the properties panel on the right, set the fill color to #FFFFFF.

Add a 1px stroke with color #E5E5E5 for cell borders.

Purpose

This base cell frame becomes the building block for your entire table structure.

Every header cell, data cell, and text cell will inherit from this foundation.

Consistent dimensions create proper alignment when you stack rows and columns later.

Step Two: How Do You Apply Auto Layout to the Cell?

Select your cell frame, press Shift+A to add auto layout, set padding to 12px horizontal and 8px vertical, then configure alignment to left-center for proper text positioning.

Action

Click on your cell frame to select it.

Press Shift+A to wrap it in auto layout.

Configure these settings in the properties panel:

  • Horizontal padding: 12px
  • Vertical padding: 8px
  • Alignment: Left, Center
  • Gap between items: 8px

The cell now adapts to content while maintaining consistent spacing.

Purpose

Auto layout makes your cells responsive and flexible.

When you add text or icons, the cell expands or contracts automatically.

This is how professional design systems handle table design in Figma.

Step Three: How Do You Convert the Cell Into a Component?

Right-click your auto layout cell frame, select “Create component” from the menu, or press Ctrl+Alt+K (Cmd+Option+K on Mac) to make the cell reusable across your entire design file.

Action

Select your cell with auto layout applied.

Use one of these methods to create a component:

  • Right-click > Create component
  • Press Ctrl+Alt+K (Windows) or Cmd+Option+K (Mac)
  • Click the component icon in the toolbar

Rename the component to “Table Cell” in the layers panel.

The component border turns purple, indicating it’s now a main component.

Purpose

Components let you update all instances at once from one source.

Change the main component’s padding, and every table cell updates automatically.

This approach follows user experience best practices for maintainable design systems.

Learn more about how to use components in Figma if you’re new to this concept.

Step Four: How Do You Create Cell Variants for Headers and Data?

Select your Table Cell component, click the + icon in the properties panel to add a variant, then style the header variant with a gray background (#F9FAFB) and bold text to distinguish it from data cells.

Action

Click your Table Cell main component.

In the properties panel, click the + next to “Variants” to create a component set.

Configure these variants:

  • Header cell: Fill #F9FAFB, text weight Bold, text color #111827
  • Data cell: Fill #FFFFFF, text weight Regular, text color #374151
  • Hover state: Fill #F3F4F6 for interactive feedback

Rename the variant property to “Type” with values “Header” and “Data.”

Purpose

Variants let you swap between cell types without breaking the table structure.

One component set handles all your table cell needs.

Step Five: How Do You Build a Column Using Cell Components?

Drag instances of your header and data cell variants onto the canvas, select all cells vertically, press Shift+A to apply auto layout with vertical direction, then set spacing to 0px for seamless borders.

Action

From the assets panel, drag one Header cell instance to the canvas.

Drag 4-5 Data cell instances below it.

Select all cells, then press Shift+A to wrap them in vertical auto layout.

Set these properties:

  • Direction: Vertical
  • Gap: 0px
  • Alignment: Left

Name this frame “Column” in the layers panel.

Purpose

Columns become the structural units you’ll combine into a complete table.

Zero gap ensures borders don’t double up between cells.

Step Six: How Do You Combine Columns Into a Complete Table?

Duplicate your column 3-5 times, select all columns, apply horizontal auto layout with Shift+A, set gap to 0px, then wrap everything in a parent frame to create the final table component.

Action

Select your Column frame and press Ctrl+D (Cmd+D on Mac) to duplicate it 4 times.

Select all 5 columns and press Shift+A for horizontal auto layout.

Configure the settings:

  • Direction: Horizontal
  • Gap: 0px
  • Alignment: Top

Convert this grouped structure into a component named “Table.”

Your data table now functions as a single reusable element.

Purpose

The nested auto layout structure (cells inside columns inside table) creates a fully responsive table that adapts to content changes.

Step Seven: How Do You Make the Table Responsive?

Select individual columns, set their width to “Fill container” in the properties panel, adjust constraints to “Scale” horizontally, then test by resizing the parent table frame to verify cells expand proportionally.

Action

Click on individual columns within your table.

In the properties panel, change width from “Fixed” to “Fill container.”

For cells that should stay fixed width (like checkbox columns), keep them at “Hug contents.”

Test responsiveness:

  • Drag the table frame edges to resize
  • Columns should expand proportionally
  • Text should remain aligned

Purpose

Fill container settings let your table adapt to different viewport sizes.

Critical for responsive design workflows.

Verification

Test your table to confirm everything works correctly.

Double-click any cell instance and change the text content. The cell should resize while maintaining padding.

Switch a cell’s variant from Data to Header using the properties panel. Styling should update instantly.

Resize the entire table frame horizontally. Columns with “Fill container” should expand; fixed columns stay put.

Check that all borders align without gaps or overlaps.

Troubleshooting

Issue: Cells Not Aligning Properly

Solution: Select the parent column frame, verify auto layout direction is set to Vertical, and confirm gap is 0px. Check that all cell instances have identical heights.

Issue: Table Not Resizing as Expected

Solution: Select columns that should stretch, change width to “Fill container” instead of “Fixed.” Ensure at least one column uses Fill; otherwise the table can’t expand.

Issue: Component Variants Not Switching

Solution: Verify you created a proper component set (purple dashed border), not separate components. The variant property must exist in the properties panel with defined values.

Issue: Double Borders Between Cells

Solution: Apply stroke to only one side of each cell (bottom for rows, right for columns), or set gap to -1px to overlap borders. Most designers use single-side strokes.

Alternative Method: Table Creator Plugin

The Table Creator plugin generates tables automatically if you need speed over customization.

Access it through Resources > Plugins > search “Table Creator” > Run.

When to Use Each Method

  • Manual method (this guide): 10-15 minutes, full control over styling, reusable component system, ideal for design systems
  • Plugin method: 1-2 minutes, pre-built structure, limited customization, good for quick mockups

Choose manual when building a component library. Choose the plugin for one-off presentations.

Related Processes

After mastering tables, explore these connected Figma skills:

Tables often appear in dashboards, so knowing how to make a grid in Figma helps with overall layout structure.

For exporting your designs to developers, learn about accessible tables to ensure your table meets web accessibility standards.

FAQ on How To Make A Table In Figma

What is the easiest way to create a table in Figma?

Use the Table Creator plugin for speed. Access it through Resources > Plugins, search “Table Creator,” then specify rows and columns. For more control over styling and reusability, build tables manually using auto layout and components.

Can you make responsive tables in Figma?

Yes. Set column widths to “Fill container” instead of fixed values. Use nested auto layout for rows and columns. The table then expands or contracts when you resize the parent frame, matching different screen sizes.

How do I add rows to an existing Figma table?

Select a row instance inside your table, press Ctrl+D (Cmd+D on Mac) to duplicate it. Auto layout automatically repositions all elements. You can also drag new cell instances from the assets panel into the column frame.

Should I build tables by rows or columns in Figma?

Build by columns. This approach lets you resize column widths independently and swap column order easily. Rows become difficult to manage when you need different cell variants or column-specific styling across the table.

How do I style header cells differently from data cells?

Create component variants for your table cell. Add a “Type” property with “Header” and “Data” values. Style headers with bold text and gray backgrounds. Switch between variants using the properties panel on any instance.

Why won’t my Figma table cells align properly?

Check that all cells have identical fixed heights. Verify auto layout direction matches your structure (vertical for columns, horizontal for rows). Set gap to 0px between cells. Misaligned cells usually mean inconsistent component dimensions.

Can I import data from spreadsheets into Figma tables?

Not directly in Figma Design. FigJam supports pasting from Google Sheets and CSV files. For design files, use plugins like “Google Sheets Sync” or manually copy text into cell instances one column at a time.

How do I create hover states for table rows?

Add a “State” variant property to your cell component with “Default” and “Hover” values. Apply a subtle background color change (#F3F4F6 works well) to hover variants. Use how to make Figma interactive for prototype connections.

What’s the best way to handle table borders in Figma?

Apply strokes to one side only per cell (bottom or right). This prevents double borders where cells meet. Set stroke width to 1px with a light gray color (#E5E5E5). Alternatively, use gap of -1px to overlap borders.

How do I export Figma tables for developers?

Use Dev Mode to show CSS specifications including layout and spacing values. Developers can inspect auto layout settings directly. Export static versions as PNG or SVG for documentation purposes.

Conclusion

You now know how to make a table in Figma using the component-based approach that professional designers rely on.

The combination of frames, auto layout, and variants gives you a table structure that actually scales.

No more rebuilding from scratch when stakeholders request an extra column.

Your reusable table components will update globally across every instance in your design file. Change the cell padding once, and every table reflects it instantly.

Start with simple data tables. Then expand to more complex patterns like sortable headers, selection states, and pagination controls.

The layer hierarchy you built here supports all of it.

Tables show up everywhere in UI design. Dashboards, settings panels, checkout flows, analytics screens. Master this pattern and you’ve solved a problem you’ll face on nearly every project.

Open Figma and build your first table component today.

Author

Bogdan Sandu specializes in web and graphic design, focusing on creating user-friendly websites, innovative UI kits, and unique fonts.Many of his resources are available on various design marketplaces. Over the years, he's worked with a range of clients and contributed to design publications like Designmodo, WebDesignerDepot, and Speckyboy, Slider Revolution among others.