Add incredible versatility to your editor without bloating it with tons of one-dimensional Gutenberg blocks. With GenerateBlocks, you can learn a handful of blocks deeply and use them to build anything.

GenerateBlocks works hand-in-hand with GeneratePress, but is built to work with any theme.


Organize your content into rows and sections. The Container block is the foundation of your content, allowing you to design unique sections for your content.


Create advanced layouts with flexible grids. The Grid block gives you the ability to create any kind of layout you can imagine.


Craft text-rich content with advanced typography. Everything from headings to paragraphs – take full control of your text.


Drive conversions with beautiful buttons.


We take performance seriously. Minimal CSS is generated only for the blocks you need, and our HTML structure is as simple as possible while allowing for maximum flexibility.

Coding standards

Built to the highest coding standards for security, stability and future compatibility.

Fully responsive

Every block comes with tablet and mobile controls, giving you total control of your responsive design.


Check out our documentation for more information on the individual blocks and how to use them.


This plugin provides 5 blocks.



There’s two ways to install GenerateBlocks.

  1. Go to “Plugins > Add New” in your Dashboard and search for: GenerateBlocks
  2. Download the .zip from, and upload the folder to the /wp-content/plugins/ directory via FTP.

In most cases, #1 will work fine and is way easier.


How do I add your blocks to my page?

  • Create a new page or post
  • Add a new block, and look for the “GenerateBlocks” category
  • Choose your block and start building.
  • It’s always best to start with a Container block.

What theme should I use?

GenerateBlocks was built to work hand-in-hand with GeneratePress. However, it will work with any theme you choose.


जुलाई 6, 2020
GenerateBlocks adds some basic extra's but does it very well. Especially the option to add settings based upon device. There are more plugins that do this, but here I get to choose the method being used. Thanks Tom and team. Question: Any ETA on the container adjustment so it blends better with other themes than GeneratePress?
जुलाई 2, 2020
As usual, very well-planned and coded. I agree, it makes Gutenberg tolerable, just. While using, I found that I wanted containers around some things for styling and grouping. The "Container" works for this. Just remember that you can't place it around a bunch of things already in there - you have to plop the container somewhere and then move things into it. Another little surprise was the automatic padding inside the "container". It gets really crazy if you put a container in a container... things really get squished at mobile size. Sure, you can override that styling with some extra CSS, but that might freak out non-coders. I suppose it would be nice to have a setting for this. One could specify a number of pixels for the "container", or at least an on-off switch for the padding. In the meantime, when using the GeneratePress theme I think I may go back to using Sections, which I still like better than Gutenberg. 🙂 Thanks!
जुन 5, 2020
Tom has single-handedly made Gutenberg usable and useful. GenerateBlocks with GeneratePress is all you really need to get the most out of it. Thank you.
जुन 3, 2020
This is absolutely perfect. Exactly what I needed. The moment I saw "Tom Usborne" as the plugin author, I clicked download. I knew the plugin would be lightweight and highly intuitive. And it is! Without all the bloat that comes with other page builders.
जुन 2, 2020
For me, GenerateBlocks is the best tool to create the layouts I want. It´s easy to use and the possibilities are endless. I love the fact, that there are "only" four blocks to use. Grid, Container, Button and Heading. You can do nearly everything with it. If I can´t do it with one of the four blocks, I just use some custom code. I totally recommend GenerateBlocks. This solution is kickass!
मे 30, 2020
From my point of view everything has already been said by the other reviewers - Five stars from my side as well! 🙂
Read all 36 reviews

Contributors & Developers

“GenerateBlocks” is open source software. The following people have contributed to this plugin.


“GenerateBlocks” has been translated into 5 locales. Thank you to the translators for their contributions.

Translate “GenerateBlocks” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



  • Fix: Undefined index notice when using background images


  • New: Persistent responsive controls across blocks
  • New: Filter all HTML attributes
  • New: Filter Container tagNames
  • New: Add containerAfterElementTag filter
  • New: Add option to apply background image as pseudo element
  • New: Add support for alignwide/alignfull in Container block
  • New: Display color palette by default in Color component
  • New: Add option to choose default view in Color component
  • New: Add aria-label option for Buttons into advanced panel
  • Tweak: Deprecate background image overlay option
  • Tweak: Move hexToRGBA to utils
  • Tweak: Fix repeated common CSS
  • Tweak: Re-design normal/hover state buttons
  • Tweak: Filter default background image size
  • Tweak: Cache parsed blocks on front-end
  • Tweak: Better display of admin notices in Dashboard
  • Tweak: Change Container Width label to Contained Width
  • Tweak: Add future framework for migrating/updating old options
  • Tweak: Don’t allow single button to be saved as reusable
  • Tweak: Don’t allow element tagName to be filtered
  • Tweak: Allow all standard richText formats in Headline block
  • Tweak: Better iconSize responsive placeholders
  • Tweak: Allow decimal values in gradient start/stop
  • Tweak: Move block name to the end of editor.desktopCSS filter args
  • Tweak: Add buttonColorsHover to editor.controls filter
  • Tweak: Change editor.insideContainerWrapper filter to frontend.insideContainer
  • Tweak: Pass attributes to frontend.insideContainer instead of props
  • Fix: gridId value in nested grids
  • Fix: Use inline-block for inline headlines with no icon
  • Fix: Missing text domains
  • Fix: Display Headline highlight option in Headline block only
  • Fix: Headline icon center alignment in IE
  • Fix: Headline highlight background color in IE
  • Fix: Mobile selector for width in min-height container
  • Fix: Add box-sizing to min-height container on tablet/mobile
  • Fix: Headline text alignment when using an icon
  • Fix: Allow 0 as iconSize value


  • Tweak: Minify/compress all dist files


  • Fix: Add wp_set_script_translations() to translate block editor
  • Tweak: Add spacing to update nag in Settings area


  • Initial release