8 Gutenberg Design Blocks Explained (Build Layouts Without Code)

Build beautiful, complex layouts without touching a line of code.

First, text and media are essential — but design blocks are where Gutenberg truly shines. Then, these blocks let you create buttons, multi-column layouts, nested groups, flexible stacks, and visual separators. Finally, all of it happens with a few clicks.

What this guide covers:

  • Block 1: Buttons — calls to action that stand out
  • Block 2: Columns — multi-column layouts
  • Block 3: Group — styled section containers
  • Block 4: Row — horizontal flex arrangement
  • Block 5: Stack — vertical rhythm with spacing
  • Block 6: Spacer — manual empty space
  • Block 7: Separator — horizontal lines and dots
  • Block 8: Page Break — split content across pages
  • Comparison table — which block to use when
  • A complete page-building workflow — using all 8 blocks

By the end, you’ll build professional layouts entirely within the WordPress editor.


Gutenberg design blocks building a landing page - buttons, columns, groups, separators

1. Buttons Block — Calls to Action That Stand Out

What it does

First, the Buttons block creates one or more buttons in a row (or stack). Then, each button has its own link, style, and settings. As a result, you can build CTA sections that guide visitors toward a specific action.

When to use it

Calls to action — “Buy Now”, “Read More”, “Subscribe”, “Download”, “Contact Us”.

Step-by-step: How to add a Buttons block

  1. Click the blue plus (+) button — or type /buttons and press Enter
  2. A single button appears inside the block
  3. To add more buttons: click “Add Button” inside the block (they appear side-by-side)
  4. To change a button’s text: click it and type
  5. To add a link: click the button → toolbar → link icon → paste URL
  6. To style the whole block: use the right sidebar under “Block” tab

Key settings (for the whole Buttons block)

SettingOptionsBest practice
LayoutHorizontal, VerticalHorizontal for desktop, vertical for mobile (auto-responsive)
AlignmentLeft, center, rightCenter for hero CTAs, left for inline
GapSmall, Medium, Large, CustomSpace between buttons. Medium is safe.

Key settings (for each individual button)

SettingOptionsBest practice
TextCustom labelAction-oriented (“Get Started”, not “Click”)
LinkURL (internal or external)Open external links in new tab
StyleFill, Outline, TextFill = high emphasis, Outline = secondary
SizeSmall, Medium, Large, Extra LargeHero = Large, inline = Small/Medium
Border radiusPixels (0–50px)4–8px looks modern and clickable
WidthAuto, Full, CustomAuto for inline, Full for full-width buttons
IconOptional (SVG or Dashicon)Adds visual hint (e.g., download arrow)

Pro tips for buttons

  • Use one primary button per section — don’t overwhelm with multiple prominent CTAs.
  • Make text action-oriented — “Download PDF” beats “Click here”.
  • Outline buttons are great for secondary actions (e.g., “Cancel” or “Learn More”).
  • Open external links in a new tab — check the box in link settings. However, don’t do this for internal links — it breaks the back button.

Shortcut: Type /buttons.

For a real example, see our Build a WordPress Homepage with Kadence guide — it uses the Buttons block for CTAs.


2. Columns Block — Multi-Column Layouts

What it does

First, the Columns block splits content into 2–6 side-by-side columns. Then, each column is a container that can hold any blocks — text, images, buttons, groups. As a result, you can build pricing tables, feature lists, and side-by-side comparisons without CSS.

When to use it

Pricing tables, feature lists (icon + text), side-by-side comparisons, grids of testimonials.

Step-by-step: How to create a columns layout

  1. Click + → search for “Columns” — or type /columns
  2. Choose the number of columns (2–6) from the placeholder screen
  3. Each column appears as an empty container
  4. To add content: click inside a column and add any block
  5. To resize columns: drag the handles between columns in the toolbar
  6. To add/remove columns: click the Columns block → toolbar → “Change column count”

Key settings

SettingOptionsBest practice
Number of columns2 to 62–4 for readability, 5–6 for data-dense
Column widthsDrag handles or exact percentagesEqual width (%) or specify (e.g., 33/66)
Vertical alignmentTop, Middle, BottomUseful when columns have different heights
GapSmall, Medium, Large, CustomMedium for most layouts
Stack on mobileOn/OffOn (default) — columns wrap vertically on phones

Pro tips for columns

  • Add a background color or border to columns to separate them visually. Click the individual column → Colors or Border in the sidebar.
  • Use Group inside a column if you need multiple blocks in that column with consistent styling.
  • Preview on mobile — always. For example, a 4-column layout becomes unreadable on a 375px screen. Reduce to 2 columns or enable “Stack on mobile.”

Shortcut: Type /columns.


3. Group Block — Styled Section Container

What it does

First, the Group block wraps several blocks into a single container. Then, you can apply background colors, padding, borders, and margins to the group as a whole. As a result, it’s the fastest way to create “cards” or “sections” without touching CSS.

When to use it

Section backgrounds, card designs, hero sections — any time you need to apply styling to a collection of blocks.

Step-by-step: How to create a Group

Method 1: From existing blocks

  1. Select multiple adjacent blocks (click the first, then shift-click the last)
  2. Click the “Group” icon in the block toolbar
  3. The blocks are now wrapped in a Group container

Method 2: From scratch

  1. Click + → search for “Group” — or type /group
  2. Add blocks inside it
  3. Style the group in the sidebar

Key settings

SettingOptionsBest practice
BackgroundColor, Gradient, ImageUse sparingly — keep content readable
PaddingNone, Small, Medium, Large, CustomEssential for spacing inside group
MarginNone, Small, Medium, Large, CustomSpace outside the group
BorderWidth, color, radiusSubtle borders for card effects
Text colorOverride for all text insideEnsure contrast with background
LayoutFlow, Flex, GridUsually leave as Flow

Pro tips for groups

  • Use Group instead of adding background to individual blocks — cleaner code, faster editing.
  • Nested groups allow complex designs (e.g., Group inside a Column inside a Columns block).
  • Set a background image on a group for section-wide banners.

Shortcut: Select blocks → click three dots → “Group”. Or type /group.

For a deeper walkthrough, see our Build a WordPress Homepage with Kadence guide — it uses Groups for every section.


4. Row Block — Horizontal Flex Layout

What it does

First, the Row block is similar to Columns but with more control. Then, it arranges blocks horizontally with adjustable alignment, wrap, and direction. As a result, it’s ideal for icon rows, tag lists, and inline meta info.

When to use it

Navigation bars, icon rows (social icons), inline meta info (author + date), any horizontal arrangement that isn’t a traditional grid.

Step-by-step: How to add a Row block

  1. Click + → search for “Row” — or type /row
  2. Set the number of columns for the row
  3. Add blocks inside each column
  4. Configure direction, alignment, and wrap in the sidebar

Key settings

SettingOptions
DirectionRow (horizontal), Row reverse
AlignmentSpace between, space around, space evenly, start, center, end
WrapOn/Off — wrap to next line on mobile
GapHorizontal and vertical spacing
Item widthAuto or fixed

Row vs Columns

BlockLayout typeBest for
ColumnsGrid with equal or predefined widthsText-heavy content, pricing tables
RowFlex-based, items shrink/grow naturallyIcons, badges, tags, meta info

Shortcut: Type /row.


5. Stack Block — Vertical Rhythm

What it does

First, the Stack block arranges blocks vertically with consistent spacing. Then, it’s essentially a Group block specialized for vertical rhythm. As a result, you use it when you need uniform spacing between elements.

When to use it

Sections that need consistent spacing between elements — like a headline → paragraph → button stack.

Step-by-step: How to add a Stack block

  1. Click + → search for “Stack” — or type /stack
  2. Add blocks inside — they stack vertically
  3. Adjust gap and alignment in the sidebar

Key settings

SettingOptions
SpacingCustom gap between child blocks
AlignmentLeft, center, right
Background, padding, borderLike Group block

In practice, Stack is a Group block with vertical spacing preset. However, use Group when you need horizontal layout flexibility, and Stack when you need pure vertical rhythm.

Shortcut: Type /stack.


Gutenberg Row vs Stack vs Group decision tree - which container to use

6. Spacer Block — Add Empty Space

What it does

First, the Spacer block inserts a custom amount of blank space between blocks. Then, you can set different heights per device. As a result, you can fine-tune spacing when theme defaults aren’t enough.

When to use it

When you need more space than the theme defaults provide — before a heading, after a section, separating elements.

Step-by-step: How to add a Spacer block

  1. Click + → search for “Spacer” — or type /spacer
  2. Drag the blue handle to resize — or set exact height in the sidebar
  3. To set responsive heights: use the Responsive tab to set different heights per device

Key settings

SettingOptions
HeightPixels (e.g., 20px, 50px, 100px)
ResponsiveDifferent heights for desktop/tablet/mobile

Pro tips for spacers

  • Avoid overusing Spacer. Excessive empty space hurts usability. Trust the theme’s margin defaults first.
  • Use Group margin/padding instead where possible — more semantic, cleaner code.
  • Set height small (20–40px) for subtle separation.

Shortcut: Type /spacer.


7. Separator Block — Horizontal Line

What it does

First, the Separator block draws a horizontal line (HR) to visually separate content. Then, you can choose line styles, colors, and widths.

When to use it

Between sections, before a conclusion, to break up long articles.

Step-by-step: How to add a Separator block

  1. Click + → search for “Separator” — or type /separator
  2. Choose a style: Line (default), Dots, or Wide line
  3. Adjust color and width in the sidebar

Key settings

SettingOptions
StyleLine (default), Dots (text dividers), Wide line
ColorChoose from palette
WidthDefault, Full, Custom (percentage)
HeightThickness in pixels

Pro tips for separators

  • Use dots style for light visual separation (e.g., between tips).
  • Keep consistent — don’t mix multiple separator styles on the same site.
  • Wide line with accent color makes a strong break.

Shortcut: Type /separator.


8. Page Break Block — Split Content Across Pages

What it does

First, the Page Break block inserts a pagination break inside a post or page. Then, it splits long content into multiple pages with next/previous navigation.

When to use it

Extremely long articles (10,000+ words) to reduce scrolling — or multi-page guides.

Step-by-step: How to add a Page Break block

  1. Click + → search for “Page Break” — or type /page-break
  2. Insert it where you want the first page to end
  3. That’s it — WordPress handles the pagination

How it works

  • First, visitors see “Page 1 of 3” with next/previous navigation.
  • Then, each page loads separately (new URL with /2/, /3/).
  • As a result, long content becomes easier to navigate.

Pro tip

Use rarely. However, pagination can hurt mobile user experience. Instead, consider a Table of Contents block for long articles — see our Query Loop Block guide for how to build one.

Shortcut: Type /page-break.


Comparison Table: Which Design Block Should You Use?

First, here’s the quick reference. Then, use it whenever you’re unsure.

BlockBest forWhen to use
ButtonsCalls to actionOne or multiple action links
ColumnsGrid layouts, side-by-side textFeature lists, pricing tables
GroupStyled section containerAdding background/padding to a group of blocks
RowHorizontal arrangement, iconsIcon rows, tag lists, meta info
StackVertical rhythmConsistent spacing between vertical items
SpacerManual empty spaceWhen theme margins aren’t enough
SeparatorVisual divisionBetween long sections
Page BreakPaginationExtremely long articles (rare)

Common Mistakes to Avoid

First, here are the mistakes beginners make most often. Then, fix them before publishing.

❌ Mistake✅ Fix
Too many columns on mobileUse 2–3 columns max, or enable “Stack on mobile”
No background contrast in GroupsCheck with WebAIM contrast checker — aim for 4.5:1
Overusing SpacersLet margins do the work — use Spacer only when needed
Missing button linkAlways test buttons before publishing
Ignoring responsive previewCheck columns, groups, and stacks on mobile view
Mixing separator stylesPick one style (line or dots) and stick with it

As a result, avoiding these mistakes keeps your layouts clean, accessible, and responsive.


Pro Layout Workflow: Building a Page with Design Blocks

First, here’s how I build a typical page using all 8 blocks. Then, adapt it to your own content.

Step 1: Add a Group for the hero section

  1. Add a Group block
  2. Set background color from your palette
  3. Set padding to 60px top and bottom
  4. Add a Heading, Paragraph, and Buttons block inside

Step 2: Add a Columns section

  1. Below the Group, add a Columns block (2 columns)
  2. Left column: add a Heading + Paragraph
  3. Right column: add an Image block
  4. Set the group’s vertical alignment to Middle

Step 3: Add a Row for icons

  1. Add a Row block with 3 columns
  2. In each column, add an Image (small icon) + Heading + Paragraph
  3. Set alignment to Center

Step 4: Add a Separator

  1. Between sections, add a Separator block
  2. Choose Dots style for subtlety, or Wide line for emphasis

Step 5: Add a final CTA Group

  1. Add another Group with a contrasting background
  2. Add a Heading + Paragraph + Buttons block

Step 6: Fine-tune with Spacers (if needed)

  1. Add a Spacer between sections if the theme margins feel tight
  2. Set height to 40px

In practice, this workflow builds a complete landing page — no code, no page builder. As a result, you get a clean, fast, and responsive layout.


Gutenberg page layout workflow - Group, Columns, Row, Separator, CTA Group steps

Frequently Asked Questions

Q1: What’s the difference between Columns, Row, and Stack?

First, Columns = grid with equal or predefined widths (best for text-heavy content). Then, Row = flex-based, items shrink/grow naturally (best for icons and tags). Finally, Stack = vertical rhythm with consistent spacing (best for stacked CTAs). As a result, each block serves a different layout need.

Q2: When should I use Group vs Stack?

Group = when you need horizontal layout flexibility (columns inside, custom flex settings). Stack = when you just need vertical spacing between blocks. In practice, Stack is a simplified Group with vertical rhythm preset. However, if you later need horizontal control, switch to Group.

Q3: Can I nest Groups inside Columns?

Yes — and that’s a common pattern. First, create a Columns block with 2 columns. Then, inside each column, add a Group block for styling (background, padding, border). Finally, add content inside the Group. As a result, you get “cards” side-by-side with independent styling.

Q4: How many columns is too many?

Above 4 columns on desktop, readability drops. For example, a 5-column pricing table is fine, but 5 columns of body text becomes cramped. However, on mobile, anything above 2 columns should stack vertically. As a result, use 2–3 columns for text, 4–6 for data/features.

Q5: Do I need Spacer if I use Group padding?

Usually no. First, Group padding handles internal spacing. Then, theme margins handle spacing between blocks. However, if you need extra breathing room between two specific sections, a Spacer (20–40px) works fine. In practice, use Spacer sparingly.

Q6: Can I add custom CSS to design blocks?

Yes. First, select the block. Then, in the sidebar, go to Advanced and add a CSS class (e.g., my-cta-section). Finally, add the CSS in Appearance → Customize → Additional CSS. For a full walkthrough, see our Advanced Gutenberg Custom CSS guide.

Q7: What’s the best design block for building a pricing table?

First, use a Columns block with 3 columns. Then, inside each column, add a Group block for the “card” styling. Finally, add a Heading (plan name), Paragraph (features), and Buttons (CTA) inside each Group. As a result, you get a responsive pricing table without a plugin.


Key Takeaways

  • 8 design blocks — Buttons, Columns, Group, Row, Stack, Spacer, Separator, Page Break
  • Buttons = call to action. Use fill + outline styles, action text
  • Columns = multi-column layouts. Always preview mobile stacking
  • Group = container for several blocks (background, padding, border)
  • Row = horizontal flex layout (icons, social links)
  • Stack = vertical spacing container
  • Spacer = manual empty space (use sparingly)
  • Separator = horizontal line (dots style for subtle breaks)
  • Page Break = pagination (use rarely)
  • The Group + Columns + Group pattern is the foundation of most card layouts
  • Shortcuts: /buttons, /columns, /group, /row, /stack, /spacer, /separator, /page-break

What’s Next?

First, you now control layout and design. Then, it’s time for widget blocks — the dynamic content that keeps readers on your site.

👉 Next in this series: Gutenberg Widget Blocks Guide — Shortcode, Archives, Calendar, Categories, Latest Posts, Search, Social Icons.

Which design block surprised you most? Any questions about Columns vs Row vs Stack? Ask below.


Related Reading