Language
English English Vietnamese (Tiếng Việt) Vietnamese (Tiếng Việt) Chinese (简体中文) Chinese (简体中文) Portuguese (Brazil) (Português do Brasil) Portuguese (Brazil) (Português do Brasil) Spanish (Español) Spanish (Español) Indonesian (Bahasa Indonesia) Indonesian (Bahasa Indonesia)
CSS Grid Generator

CSS Grid Generator

Visually build CSS Grid layouts with template areas, custom tracks, gaps, and alignment controls. Copy clean CSS and HTML code instantly.

What Is the CSS Grid Generator?

The CSS Grid Generator is a visual tool for building CSS Grid layouts without writing the code by hand. You shape your layout on an interactive grid canvas, and the matching CSS and HTML update in real time, ready to copy into your project.

Everything lives in one panel: columns, rows, gaps, alignment, and named template areas. Start from a proven preset or the default 3×3 grid, paint regions with a click or drag, and read clean, standards-compliant code as you go — no need to memorize grid syntax.

Who is this for?

It suits anyone who works with layout:

  • Web developers prototyping grid layouts quickly
  • Designers turning layout ideas into real CSS code
  • Students learning how CSS Grid properties fit together
  • Anyone who wants tidy grid code without writing it from scratch
Private by design: the generator runs entirely in your browser. Your grid configuration and the code it produces are never uploaded to a server.

How to Use the CSS Grid Generator

1

Choose a starting point

Pick one of the five Presets — Holy Grail, Sidebar, Dashboard, Gallery, or Header-Footer — or begin from the default 3×3 grid. Each preset instantly sets up columns, rows, and template areas.

2

Configure the grid structure

In Grid Setup, use + and to add or remove columns and rows (1 to 12). Edit each track value directly — type 1fr, 200px, auto, or any valid CSS value — and set the row gap and column gap independently.

3

Paint template areas

Select an area from the list (or use Add Area to create one), then click or drag on the preview cells to assign them. Click a painted cell again with the same area selected to erase it. Each area gets its own color so the layout is easy to read.

4

Adjust alignment

Fine-tune positioning in the Alignment section using justify-items, align-items, justify-content, and align-content. Only non-default values appear in the generated code.

5

Copy the code

Switch between the CSS and HTML tabs to see the generated output, then press Copy to send the visible code to your clipboard.

Features

Visual Grid Canvas

An interactive preview reflects your exact column widths, row heights, and gaps. Click and drag cells to define named regions.

Five Preset Layouts

Start fast with Holy Grail, Sidebar, Dashboard, Gallery, or Header-Footer — each pre-configures tracks and template areas.

Flexible Track Values

Each column and row accepts any CSS value: fr units, px, auto, percentages, or minmax().

Independent Gap Controls

Set the row gap and column gap separately in pixels, with the canvas updating live as you change them.

Named Template Areas

Paint cells to build color-coded regions, then add or remove areas dynamically. The tool writes proper grid-template-areas CSS.

Full Alignment Options

Configure all four alignment properties with button groups; default values are automatically left out of the output.

Clean CSS & HTML Output

Get a ready-to-use .grid-container with matching area classes, plus a corresponding HTML markup structure on the HTML tab.

One-Click Copy

Copy the visible CSS or HTML to your clipboard with a single button, ready to paste straight into your project.

Touch Painting

The canvas works on phones and tablets — tap and drag to assign areas on a touchscreen.

Dark Mode

Colors, borders, and the code block adapt automatically for comfortable use in any lighting.

Frequently Asked Questions

What track values can I use?

Any valid CSS Grid track value: 1fr, 200px, auto, 50%, min-content, max-content, or functions like minmax(200px, 1fr) and repeat(3, 1fr). Track fields are free text, so you can mix units across columns and rows.

How do template areas work?

Template areas assign names to grid regions. Select an area from the list, then click or drag on the canvas cells to paint them. The generator writes the grid-template-areas property along with a matching class for each area, so the markup and CSS line up.

Can I leave cells without an area?

Yes. Unpainted cells appear as a dot (.) in the generated grid-template-areas value, which is the valid CSS Grid syntax for an empty cell.

Why don't alignment properties show in the CSS?

The generator only outputs non-default alignment values to keep the code clean. justify-items: stretch and align-items: stretch are the CSS Grid defaults, as are justify-content: start and align-content: start, so they are omitted. Change any of them to a different value and it appears in the output.

What is the maximum grid size?

You can build grids up to 12 columns × 12 rows (144 cells), which covers the vast majority of real-world layouts.

What is the difference between CSS Grid and Flexbox?

CSS Grid is a two-dimensional system: you control columns and rows at the same time, which is ideal for full-page layouts and named regions. Flexbox is one-dimensional, laying items out along a single row or column. This tool focuses on Grid; reach for Flexbox when you only need to distribute items along one axis.

Does it work on mobile?

Yes. The layout adapts to smaller screens and the canvas supports touch painting — tap and drag to assign areas on phones and tablets.

Is my data stored anywhere?

No. Everything runs in your browser, and no grid configuration or generated code is sent to any server.

Presets
Grid Setup
3
3
px
×
px
Alignment
Template Areas
Click cells on the preview to paint areas
Preview

            
Select an area from the list, then click or drag on grid cells to paint it
Click a painted cell with the same area selected to erase it
Use presets to quickly start with common layouts like Holy Grail or Sidebar
Mix units in track values: 200px, 1fr, auto, minmax(200px, 1fr)
Switch between the CSS and HTML tabs to get both code snippets
Only non-default alignment values appear in the output, keeping your CSS clean
All processing happens in your browser — no data is sent to any server
Want to learn more? Read documentation →
1/8
Start typing to search...
Searching...
No results found
Try searching with different keywords