The grid-auto-columns property sets the size of implicitly created column tracks. Implicit columns appear when items need more columns than grid-template-columns defines—for example with grid-auto-flow: column, or when an item is placed past the last explicit column.
It is set on the grid container, is not inherited, and the initial value is auto. Explicit columns from grid-template-columns are unchanged. For implicit rows, use grid-auto-rows.
Standard-track.
Not deprecated and not experimental. Baseline Widely available. Part of modern CSS Grid Layout.
Set a floor. The first argument, 60px, is the minimum column width.
Set a ceiling preference.1fr lets columns share remaining space up to that flexible size.
Protect narrow viewports. Columns will not shrink below 60px when space is tight.
Same idea as templates.minmax() works here just like in grid-template-columns.
Edge Cases & Pitfalls
If nothing changes, you may not be creating implicit columns.
implicit
Only sizes implicit columns
Tracks from grid-template-columns ignore this property. You need extra columns from flow or placement to see an effect.
flow
Default flow creates rows, not columns
With grid-auto-flow: row (the default), overflow items make new rows. Use grid-auto-rows for those, or switch flow to column.
%
Percentages need a definite container size
If the grid’s inline size is indefinite, a percentage track size is treated like auto.
pattern
Multiple values form a repeating pattern
grid-auto-columns: 80px 120px makes the first implicit column 80px, the next 120px, then repeats.
rows
Do not confuse with grid-auto-rows
This property is for columns only. Implicit row height is controlled by grid-auto-rows.
Compatibility
Browser Support
grid-auto-columns is a browser CSS property for CSS Grid. Node.js, Deno, and Bun do not apply it.
✓ Baseline · Widely available
grid-auto-columns
Supported in Chrome 57+, Firefox 52+, Safari 10.1+, and Edge 16+. Internet Explorer does not support modern Grid.
97%Global support
Google Chrome57+
Full support
Mozilla Firefox52+
Full support
Apple Safari10.1+
Full support
Microsoft Edge16+
Full support
Opera44+
Full support
Samsung Internet6.2+
Full support
Internet ExplorerNo modern Grid
Not supported
grid-auto-columnsWidely supported
Bottom line: Safe in current browsers. Use it when auto-flow or placement creates columns beyond grid-template-columns.
Remember
Key Takeaways
Role: size columns the grid creates automatically.
Not for templates. Explicit columns still use grid-template-columns.
Initial:auto. Not inherited.
Pair withgrid-auto-flow: column or out-of-range placement to create those columns.
One line:grid-auto-columns is the width rule for columns the grid invents on the fly.
Frequently Asked Questions
It sets the size of column tracks that the grid creates automatically when items need columns beyond grid-template-columns.
The initial value is auto, which sizes each implicit column from its content.
grid-template-columns defines the explicit columns you plan. grid-auto-columns only sizes extra (implicit) columns created by placement or auto-flow.
When grid-auto-flow is column, or when an item is placed on a column line outside the explicit template, the browser adds columns and sizes them with grid-auto-columns.
No. Columns listed in grid-template-columns keep those sizes. Only newly created columns use grid-auto-columns.
It is Baseline Widely available: Chrome 57+, Firefox 52+, Safari 10.1+, and Edge 16+. Internet Explorer does not support modern Grid. It is a browser CSS property, not a Node.js feature.