CSS Grid Generator

Generate CSS Grid layouts visually. Define rows, columns, and gaps, then copy the ready-to-use CSS.

Free Runs in your browser
1
2
3
4
5
6

How to use

  1. 1 Set the number of columns and rows using the inputs.
  2. 2 Adjust the column and row gap.
  3. 3 Define named grid areas by clicking cells in the visual grid.
  4. 4 Copy the generated CSS including grid-template-columns, grid-template-rows, and grid-template-areas.

Key features

  • Visual grid builder — set columns, rows, and gaps interactively
  • Named grid areas support with visual cell editor
  • Generates complete CSS including grid-template-columns, rows, and areas
  • Ideal for learning CSS Grid or scaffolding page layouts quickly

CSS Grid Layout

CSS Grid is a two-dimensional layout system — it handles both rows and columns simultaneously. Introduced in 2017, it gives you direct control over how items are placed and sized across both axes of a grid container. Unlike Flexbox (which lays items out in one dimension at a time), Grid lets you define the full layout structure at the container level and place items anywhere within it — even spanning multiple rows or columns.

The fr unit is unique to Grid: it distributes available space as fractions after fixed-size columns are accounted for. 1fr 2fr 1fr means the middle column gets twice the remaining space as each outer column — responsive without media queries.

Common Use Cases

Page layout structure

Define a full page layout (header, sidebar, main, footer) in a few lines of CSS without nested wrappers or position hacks.

Image and card galleries

Use auto-fill with minmax() to create responsive card grids that adapt column count automatically without media queries.

Dashboard and admin UIs

Place widgets, charts, and metrics panels across a defined grid with items spanning multiple columns or rows.

Magazine-style content layouts

Overlap elements, span items across multiple columns, and create complex editorial layouts that would be painful with floats.

Form layouts

Align labels and inputs in two columns, with certain fields spanning the full width — all without float or table hacks.

Responsive layouts without media queries

Combine grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)) to get adaptive column counts from a single declaration.

Grid vs Flexbox — When to Use Which

They complement each other; most modern layouts use both.

ScenarioUse GridUse Flexbox
Dimensions neededRows AND columns (2D)One direction (1D)
Layout definitionDefined at the containerChildren control their own sizing
Typical usePage structure, dashboards, galleriesNavigation bars, button groups, cards in a row
Alignment control Both axes, plus named areas Main axis + cross axis