Skip to main content
The block palette gives you a library of 25 pre-built HTML snippets that you can drop onto the canvas with a single click. Every block is plain HTML with Tailwind CSS v4 utility classes — what lands on the canvas is the actual markup that an AI agent sees and can modify via MCP tools. There is no proprietary format or translation step.

Opening the block palette

The block palette lives in the Blocks tab of the left panel. Click the tab label to switch to it. Blocks are organized in a responsive grid; each tile shows an icon and a short label. Hovering a tile highlights it with an accent border.
The left panel defaults to the Layers tab. Switch to Blocks whenever you want to insert new elements from the catalogue.

Inserting a block

Click to insert — click any block tile and it is added to the active artboard’s canvas immediately. The block appears at the bottom of the current component tree. Drag to canvas — press and hold on a block tile, then drag it over the canvas iframe. GrapesJS’s drag-and-drop system tracks the pointer position and inserts the block at the drop target when you release. This lets you place a block directly inside a container element rather than appending it to the root.
To insert a block inside a specific container, drag it from the palette and drop it onto the container element in the canvas. The blue drop-target highlight shows where the component will land.

Block categories

Layout

Structural containers for building page sections and grid systems. Use the Flex row and Flex column blocks as the foundation of most layouts — they come pre-configured with gap-4 so child elements space themselves automatically.

Typography

All six heading levels plus inline and block text elements.

Form

Interactive form elements for building input interfaces.

Media

Embeddable media elements.

Tailwind v4 in the canvas

The canvas iframe loads Tailwind CSS v4 from CDN. This means any Tailwind utility class you apply — whether by selecting a block, editing a class in the Traits panel, or having an AI agent call add_components with Tailwind markup — is rendered live in the canvas without a build step.
The snippet above, passed to the add_components MCP tool, renders exactly as you would expect from a Tailwind v4 stylesheet — no configuration required.

Editing blocks after insertion

Once a block is on the canvas, select it by clicking it in the canvas or the Layers tree. Use the Styles tab in the right panel to modify CSS properties (dimensions, spacing, colors, flexbox settings), and the Traits tab to edit HTML attributes (src, alt, href, placeholder, etc.).
Default Tailwind classes on inserted blocks are a starting point. You can override them via the Styles panel or by asking your AI agent to call update_styles with the component ID.