Skip to main content
Alex_Mueller1
New Member
May 7, 2025

[Config 2025] Grid Auto Layout Flow — let’s hear what you think!

  • May 7, 2025
  • 67 replies
  • 6605 views

I was very excited to hear that grids were coming to Figma. CSS Grid was introduced years ago and brought with it many things that flexbox was incapable of doing, so I was hoping for a similar level of new capabilities here, and I genuinely cannot believe that this feature is being shipped in its current state (even as a ‘beta’). This is a very long post, but I feel like this feature has been implemented so poorly that it legitimately sows doubt in Figma’s capabilities to deliver features in the future.

  • Inability to ‘hug’ contents
    • Both rows and grids themselves are unable to resize themselves to match their contents (‘Hug”).
    • Row heights must be either “Auto” (1fr) or a fixed height, meaning that if you want your rows to be sized per their elements, you’ve now manually defined each row height in px (not even a variable value), and instead of getting a clean CSS output, now you have however many rows defined in exact values, destroying any chance of scalability.
    • This alone makes this feature nearly useless to me.
  • ‘Cannot remove row from a grid when it has content’
    • One of the great aspects of CSS grid is that, without having to do anything to the children of the grid, I can change the number of columns/rows and the grid will re-flow all the elements for me.
    • Figma does not do this. It will add rows/columns only if they are larger than current, but it will not remove rows/columns unless they are empty, so you have to manually move everything into the place you want, and then you are able to remove the extra rows/columns. This is an incredibly cumbersome way to handle this and immediately made this feature hard to use.
  • Why do I even need to define the number of rows?
    • One of my biggest gripes with Figma’s ‘Fill’ mode is that there are no percentage based widths. Say I want my items to take up 25% width, but I only have 3 items total, I now have to create an empty ‘spacer’ frame so that my design can stay responsive without manually setting pixel values
    • With grid, well now I can define my number of columns and get the nice percentage based widths I want, but I also have to define the number of rows, making it incredibly tedious, and since I can’t even set their heights automatically, I genuinely might still be better off just using horizontal auto layout with spacer frames.
  • Inability to select the elements in a row/column all at once
    • In all other areas of Figma, selecting a parent and hitting Enter will select all children. In grid, selecting a row/column and hitting enter only allows you to change the width/height, you must manually select each item one by one.
  • Table behavior
    • After I’ve manually selected each item in a row, now I’d like to create a new row, let me hit Cmd+D and...
      After I’ve manually selected each item in a row, now I’d like to create a new row, let me hit Cmd+D and...

      oh. This also happens in reverse when selecting an entire column. Tables to me seem like the most obvious use case of grid, because managing tables in Figma has been a pain for years, you either get nicely sized rows, or nicely sized columns, but now trying to use Grid for table somehow creates an even worse experience. Duplicating a row grants you more columns, and duplicating a column grants you more rows. You have to manually add the row/column first before duplication, and then it will work as expected.

I sincerely hope that some of these issues/limitations have already been addressed internally and are just not public facing yet. I’m very disappointed in this release, as Figma has had years to approach their CSS grid implementation, and they’ve provided a solution that is obnoxious to use and far too limited in scope.

 

[Subject line updated by a moderator and linked to new features post on May 9, 2025 — changed from “Grid for Auto Layout is horribly limited in scope and very awkward to use” to “[Config 2025] Grid Auto Layout Flow — let’s hear what you think!”.]

Pinned Reply By Tom Reem

Grid Auto Layout – What’s Next?

 

🙏🏻 We appreciate all of you

Hi all! First, big thank you to everyone who took time to share feedback on Figma Grid. During Config 2025, we were ecstatic to share all the work we’ve done to make it happen.

Your input really helped us understand where things are working — and where things can improve — across different workflows, use cases, and team sizes. The purpose of this post is to give you a reflection of every user who's utilized Figma Grid, and what we’re doing to improve the experience.

 

🗣️ Top Common Concerns and Limitations

  1. The ability to “Hug Contents” for columns and rows
    Grid columns and rows are not able to adjust dynamically to fit or “hug” their content. This causes rigid layouts and requires manual resizing.
  2. Missing smart item swapping
    Reordering items between columns and rows was a slow and tedious process. Drag-based swapping was expected, but not available in grid.
  3. Adapting content when adjusting grid size
    Previously columns and rows could not be removed unless they were empty, prompting an error message. Ideally, when columns are removed, remaining content should shift to fill available space. To circumvent, designers need to move or delete contents before they could adjust the size of their grid
  4. Lack of variable support for gaps
    Designers are not able to apply variables to grid gaps, making it harder to maintain spacing across different grids and files.

 

🔧 What we're doing to address these things

 

Here’s what we can share so far:

  • Hug contents. This is one of the most requested features. We’re actively working on adding “Hug” resizing options for columns, rows, and grid containers.
  • Item swapping. You can now swap items within the grid if they span the same number of cells. This better mirrors expectations of auto layout behavior.
  • On-canvas column and row deletion with content. The ability to delete a select column or row directly from the canvas, even if it contains objects, has been live for several weeks. If items span multiple cells, their span will shrink accordingly.
  • Content reflow behavior. We’ve updated the grid picker so that content now shifts when columns and rows are removed. This improves responsiveness and makes layout changes more intuitive.
  • Variables support for gaps. You can now apply variables to the space between columns and rows. This allows for more scalable and consistent spacing across design systems.

Our release notes will always provide updates on any new features. Bookmark this link to view them: Figma product news & release notes.

 

🚀 Keep the conversation going on with us 
 

🎟️ Save your seat! Be sure to RSVP for our upcoming release notes LIVE on July 31, 2025 at 8:00AM PT / 11:00AM ET / 5:00PM CET: Live from Figma, it’s Release Notes! → Register.


We know what we’ve recapped above may not cover everything you’re looking for, and we encourage you to keep the conversations going. Whether it’s about Figma Grids, or any other Figma product, please engage with us (and each other) in these spaces:

Tip: try running a search in our forum to see if there are existing threads that are similar to your thoughts. Our community is a great place to have conversations, and you may find existing information that helps.


Thanks again for being part of the Figma community!

67 replies

marcus.gonzalez
New Member
May 7, 2025

I agree on most of these points. I don’t know how they could release a grid feature at the very least without being able to set the height to hug it’s contents. As it is right now, it’s so limited that I can’t really make use of it in responsive designs.

Anastasia Zotov
New Participant
May 7, 2025

It’s annoying that Figma designer’s continue shift things around. Who thought that switching places of the gap width and the alignment was a good idea? Why?

 

Chris_Kerr1
New Participant
May 7, 2025

Great summary ​@Alex_Mueller1 thanks for this

The lack of Hug is a (hug)e miss! My use case is related to asymmetrical form layouts with conditional reveals requiring the parent container height to hug as the total height of the child nodes+vertical gaps change.

Not that everyone would need this, but if you waned to prototype a table interaction where you change the background color of the row onHover event, there is no way to style or target the row or column containing the child nodes. Obviously you can change the cell/child individually, but this isn’t as common an experience for tables showing records/listings.

Also I note that you can’t benefit from the “responsive” auto-layout option whilst also using the grid option. Not hugely surprising, but it would be helpful to be able to switch layout when minWidth’s were crossed

Chris_Kerr1
New Participant
May 7, 2025

Of course they could have just done this that was requested more than 2 years ago

I don’t know why Figma even asks for feedback. They just do an underbaked feature and make that overly complex. All we need is proper Flex support really
 

 

James_Guest
New Member
May 7, 2025

Add ‘hug’ to the rows. it’s basically the one thing that is needed for this to be useful. I want to make a grid frame with 1 row and 3 columns and have text content take up 1/3 and an image take up 2/3 at any width that I make the frame. Grid works right for the width, but the height of the parent frame needs to get taller as my text content wraps - please. Also, let me edit the number of rows/columns of the grid directly on the frame in the canvas.

 

Chris_Kerr1
New Participant
May 7, 2025

Add ‘hug’ to the rows. it’s basically the one thing that is needed for this to be useful. I want to make a grid frame with 1 row and 3 columns and have text content take up 1/3 and an image take up 2/3 at any width that I make the frame. Grid works right for the width, but the height of the parent frame needs to get taller as my text content wraps - please. Also, let me edit the number of rows/columns of the grid directly on the frame in the canvas.

 

I feel like hug for columns is needed as well, per this great table example from ​@Smith_Samuel_D 
 

 

Chris_Kerr1
New Participant
May 7, 2025

​@Thomas Reem Given we can’t reply to your posts about sharing feedback, perhaps I can draw your attention to this thread?

In particular, this seems to be falling short of user needs:

Fixed track sizing: Control over width and height of columns or rows.

Most layouts these days must NOT be fixed, but be able to adapt and respond to differing contexts, not just around the parent container, but within it. Being able to apply Hug for columns and widths whereby the contents of either/both are used to define the width/height of the column/row is essentially for content that must respond to reductions or increased in available screen real estate.

Is there a reason why this was not included? Is there an intent to include this in future feature releases? How can we best present this case and have it looked at?

Cameron_Reynolds-Flatt
New Member
May 8, 2025

Agree with “Inability to select the elements in a row/column all at once”. Its very limited in way to move things around other then selection. I would also like the ability to add a column/row to the left/right/above/below the selected.

 

I have also noticed sluggish performance in certain use cases as I push the limits (I have 100 columns) to create a 2 year roadmap.

 

All that said I am thankful still to have a grid :)

Gabriele_Maffoni
New Member
May 8, 2025

I’d add: the fact that I cannot bind the gap between columns and row to a variable makes literally no sense, since I can do it for autolayout’s gap.

Chrisey
New Member
May 8, 2025

Would also be nice to define an alignment for the grid. This would cater for scenarios where there are an uneven number of cards in a grid and we don’t want them to be left aligned.