Opens in a new tab

Pasting JSON into Bricks: why nothing happens, and the checklist that fixes it

Bricks Tips · Copy & paste

You copied a Bricks layout as JSON, hit paste in the builder… and nothing happened. There was no error and no new element to explain why. This one trips up almost everyone the first time, and it tripped us up while building Bento Bench. Here’s the two-minute checklist that fixes it.

1. Right-click Paste is not the paste you want

Bricks has two paste mechanisms, and they read from different places. The right-click → Paste menu only reads Bricks’ own internal clipboard, meaning things you copied inside a Bricks builder. JSON sitting in your system clipboard (copied from a snippet library, a tool, or another tab) is invisible to it.

To paste external JSON, click once on the canvas (or the element you want to paste into) and press Ctrl + V (Cmd + V on a Mac). The keyboard shortcut is the only path that reads the system clipboard.

2. Enable cross-site copy & paste

Even with the right shortcut, a fresh Bricks install will often ignore external payloads until you switch on cross-site copy & paste in the Bricks settings. It’s off by default. Flip it on once and JSON from other sites and tools pastes straight in.

3. Know what a valid payload looks like

Bricks expects a specific JSON envelope. If you’re debugging a paste, check the payload starts with something like this:

{
  "content": [ ...elements... ],
  "source": "bricksCopiedElements",
  "sourceUrl": "https://example.com",
  "version": "2.0",
  "globalClasses": [ ... ],
  "globalElements": [ ]
}

Two details worth knowing. The source field must literally say bricksCopiedElements, which is how Bricks recognises the clipboard as its own format. And entries in globalClasses can carry "_exists": false, which tells Bricks to create that global class in your class manager on paste. That’s how a well-built snippet arrives styled instead of naked.

4. Pasting twice? Watch your classes

Global classes are matched by name. If a paste already created my-grid and you paste a newer version of the same snippet, Bricks reuses the existing class and ignores the incoming styles. When you’re iterating on a snippet, delete its classes from the class manager before re-pasting, or you’ll be staring at yesterday’s styling wondering why nothing changed.

The checklist

Paste does nothing? In order: use Ctrl/Cmd + V, not right-click · enable cross-site copy & paste in settings · confirm the JSON has the bricksCopiedElements envelope · and if it pastes unstyled, check for stale global classes from an earlier attempt.

Want to see a well-formed payload in the wild? Bento Bench, our free bento-grid builder, generates native Bricks JSON with labelled elements and global classes created on paste. Copy one and inspect it.

Illustrated portrait of Mark Carranza
Written by Mark Carranza
Founder, Studio Grid
Mark leads the design of every Studio Grid tool, from Studio Colour in the browser to Studio Convert on the Mac.

Related posts

Leave the first comment