On this page
Quick steps
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.
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.
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.
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.
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.
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.
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.
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.
- 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.
- Add variants for the states you need, such as
Header,Body,Body/Striped, and alignment left or right for numbers. - Build one column or one row out of instances, set the cells to Fill container, and add a bottom stroke for the row dividers.
- Duplicate to the size you need and nest everything in a parent auto layout frame so the table grows as you add rows.
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.
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.
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.
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.
More in Layout, grids & constraints
- Figma Frame Sizes: Which Preset to Pick and How to Change ItPick a Figma frame size from the Phone, Tablet, Desktop or Paper presets, change an existing frame's size, and why you design at viewport size, not resolution.
- Why Are Constraints Not Showing in Figma?Constraints in Figma not showing? In UI3 they sit in the Position section, and only for layers inside a plain frame. Here's why they vanish and how to fix it.
- How to Add a Grid to a Frame in FigmaAdd a column, row or uniform grid to a Figma frame with layout guides, set count, margin and gutter, remove it, and fix a layout grid that isn't showing up.
- Figma Snapping Not Working (or Snapping Too Much)Where Figma's snap settings live, how to pause snapping while you drag, why frames always snap to whole pixels, and how to change the nudge amount in Figma.
- How to Use Rulers and Guides in FigmaTurn on rulers in Figma, drag out guides, remove the red guide lines, and measure the distance between layers with Option or Alt. Plus a note on units.
- How to Change the Background Color in FigmaChange Figma's canvas background color, switch the interface to dark or light mode, and set the prototype background. Three different settings, found here.
- How to Add Realistic Mock Data in FigmaHow to fill Figma designs with realistic mock data: names, emails, addresses, and AI-written text. Native Figma AI, lorem ipsum plugins, and Mock Master AI.
- How to make a table in FigmaFigma Design has no table tool. Build one from a cell component and nested auto layout, add rows in one keystroke, or generate a styled table with a plugin.
- How to make charts and graphs in FigmaFigma has no chart tool. Build a simple bar chart from auto layout rectangles, or use a chart plugin to draw line, bar and pie charts from your own data.
- How to make a GIF in FigmaMake a GIF in Figma from frames with a plugin, export a Figma Motion animation as GIF, or record a prototype. Steps, loop and timing settings, and trade-offs.
