0
100
200
300
400
500
600
700
800
900
1000
1100
0
100
200
300
400
500
600
700
800
900
1000
1100
Guide · Layout, grids & constraints

How to Import an Excel Table into Figma

Figma Design has no native table layer, so pasting cells from Excel or Google Sheets won't give you a table. You get one text layer or a flat image, depending on where you copied from. To import an Excel table into Figma, either build a table with auto layout and fill it by hand or with a data plugin, or use a table plugin that reads your .xlsx, .csv, or Google Sheet and draws the rows and columns for you.

FigJam and Figma Slides are different. Both have native tables and turn pasted spreadsheet cells into a real table, so if the table only needs to live in a workshop board or a deck, paste it there.

Updated Sep 24, 20267 min read
On this page
6 steps

Quick steps

1

Clean up the spreadsheet

Keep one header row, remove merged cells and empty columns, and format numbers the way they should appear in the design (currency, decimals, dates). The import copies values, not Excel formatting.

2

Decide where the table lives

For a FigJam board or a Figma Slides deck, paste the cells directly and Figma creates a native table. For a Figma Design file, continue with the steps below.

3

Install a table import plugin

Install Table Creator - Import From Excel (free to start, with a one-time $8 upgrade) from the Figma Community and open it from the Actions menu or Plugins menu in your design file.

4

Bring in the data

In the Import tab, paste tab- or comma-separated rows, upload a .csv, .xlsx, or .xls file, or paste a Google Sheets link shared as 'Anyone with the link'. The first row becomes the header.

5

Style the table before creating it

Set header and cell backgrounds, strokes, alternate row colors, cell height, padding, fonts, and alignment in the Cells and Text tabs, or apply a saved preset.

6

Create and edit on the canvas

Click Create Table. The table is built from regular Figma frames and text, so you can edit any cell, rename layers, or wrap parts of it in components afterwards.

01

Why copy and paste from Excel doesn't make a table in Figma

Figma Design has frames, text, and auto layout, but no table object with rows and columns. When you copy a range from Excel or Google Sheets, the clipboard holds tab-separated text (and sometimes a picture of the cells). Figma pastes whichever it can use, so you end up with a single text layer where columns are separated by tab characters, or an image you can't edit.

You can sometimes fake alignment in that text layer with tab stops, but it breaks as soon as a value gets longer, and you can't give a single cell a background or a border.

FigJam and Figma Slides do have tables. Paste spreadsheet cells onto an empty spot in either one and Figma builds a table with the right number of rows and columns. FigJam tables are limited to 500 cells, so larger sheets get cut off. Both are good for workshops and decks, but they don't give you a table inside a Figma Design file, which is where product screens with data tables get designed.

02

How to build a table in Figma with auto layout

If you need a reusable table for a design system, build it by hand once. There are two common structures, and the choice affects how widths behave.

  • Column-first: each column is a vertical auto layout frame of cells, and the columns sit inside one horizontal auto layout frame. Columns can hug their widest content, so widths line up automatically. This is the easier structure for mockups.
  • Row-first: each row is a horizontal auto layout frame, and the rows stack vertically. This matches how HTML tables and row hover states work, but every column needs a fixed width, applied to every cell in that column.
  1. Make a cell component: a frame with auto layout, horizontal padding of 12 to 16 px, a fixed height (40 to 48 px is common), and one text layer.
  2. Add variants for the states you need, such as Header, Body, Body/Striped, and alignment left or right for numbers.
  3. Build one column or one row out of instances, set the cells to Fill container, and add a bottom stroke for the row dividers.
  4. Duplicate to the size you need and nest everything in a parent auto layout frame so the table grows as you add rows.
Right-align numeric columns and use tabular figures if your font supports them, so digits line up. That detail is easy to forget in mockups and it is the first thing a developer will ask about.
03

How to fill a Figma table with spreadsheet data

Once the structure exists, you still have to get the values in. Typing 200 cells by hand is where most people give up. There are three realistic options.

  • Google Sheets Sync: a long-running community plugin. You name layers with # plus a column header, share the sheet by link, and the plugin fills matching layers from the rows. It works well with a hand-built table component and can re-sync when the sheet changes.
  • Figma AI Replace content: available from the Actions menu in Figma Design. It fills selected text with realistic generated values from a prompt. Good for plausible dummy data, but it invents values instead of reading your spreadsheet.
  • A table generator plugin: reads the file or pasted cells and creates the whole table, structure included, in one step. Best when you have real data and no table built yet.

If the data is fake anyway, a mock data plugin is often faster than a spreadsheet. See the guide on realistic mock data in Figma.

04

Import Excel, CSV, or Google Sheets with Table Creator

Our plugin, Table Creator - Import From Excel, is built for this exact job. (It's a different plugin from the older, popular "Table Creator" by Gavin McFarland, which builds tables from scratch but doesn't import data.) It creates the table and styles it in one pass, from three kinds of input.

  • Paste Data: paste tab-delimited cells copied from Excel or comma-separated CSV text. The plugin detects which one it is.
  • Upload File: .csv, .xlsx, or .xls. It reads the first sheet and takes the row and column counts from the data.
  • Google Sheet: paste the sheet URL. The sheet must be viewable by anyone with the link, or published to the web if that fails.

A preview shows the first rows before anything is drawn. Before you click Create Table, set the look in the Cells tab (header and cell backgrounds, alternate row color, stroke color, width and solid or dashed style, cell height, horizontal padding) and the Text tab (font, weight, size, color, alignment for header and body). You can save the setup as a preset or start from a built-in template, which helps when every table in a product needs to look the same.

The output is native Figma frames and text layers, so every cell stays editable. Large imports can take a moment to generate. If you haven't installed a plugin before, here's how to install Figma plugins.

Table Creator also builds empty tables from scratch. Pick the size on a 10 by 10 grid and turn on Use Placeholders to get Header 1 and R1C1 style text, which is handy for wireframes.

05

Which method should you use?

  • Table in a workshop board or presentation: paste into FigJam or Figma Slides.
  • Reusable table component for a design system: build it with auto layout, then fill it with Google Sheets Sync.
  • Real data you need on a screen today: import it with Table Creator and adjust the styling.
  • Plausible fake data: Figma AI Replace content or a mock data plugin.
Ranked listThe best Figma table plugins in 2026
FAQ

Frequently asked questions

Can you paste an Excel table into Figma?

Not as a table in Figma Design. Pasting gives you one text layer with tab-separated values or an image. FigJam and Figma Slides do convert pasted spreadsheet cells into native tables.

Does Figma have a table tool?

FigJam and Figma Slides have native tables. Figma Design does not, so designers build tables with auto layout or generate them with a plugin.

How do I import a CSV into Figma?

Use a plugin. Table Creator accepts a .csv upload or pasted CSV text and draws a styled table. In FigJam, pasting CSV data from a spreadsheet creates a native table directly.

Can I link a Google Sheet to a Figma table?

Google Sheets Sync can re-sync named layers from a shared sheet when the data changes. Table Creator reads a shared Google Sheet URL to create a table, but it builds a new table each time rather than keeping a live link.

Is there a size limit when importing spreadsheet data?

FigJam tables stop at 500 cells. Plugins don't have that limit, but very large tables create a lot of layers and can slow the file down, so import only the rows the design needs.

Keep learning

More in Layout, grids & constraints

All guides in Layout, grids & constraints