Gutenberg is more than an editor. While the editor is the focus right now, the project will ultimately impact the entire publishing experience including customization (the next focus area).

Discover more about the project.

Editing focus

The editor will create a new page- and post-building experience that makes writing rich posts effortless, and has “blocks” to make it easy what today might take shortcodes, custom HTML, or “mystery meat” embed discovery. — Matt Mullenweg

One thing that sets WordPress apart from other systems is that it allows you to create as rich a post layout as you can imagine — but only if you know HTML and CSS and build your own custom theme. By thinking of the editor as a tool to let you write rich posts and create beautiful layouts, we can transform WordPress into something users love WordPress, as opposed something they pick it because it’s what everyone else uses.

Gutenberg looks at the editor as more than a content field, revisiting a layout that has been largely unchanged for almost a decade.This allows us to holistically design a modern editing experience and build a foundation for things to come.

Here’s why we’re looking at the whole editing screen, as opposed to just the content field:

  1. The block unifies multiple interfaces. If we add that on top of the existing interface, it would add complexity, as opposed to remove it.
  2. By revisiting the interface, we can modernize the writing, editing, and publishing experience, with usability and simplicity in mind, benefitting both new and casual users.
  3. When singular block interface takes center stage, it demonstrates a clear path forward for developers to create premium blocks, superior to both shortcodes and widgets.
  4. Considering the whole interface lays a solid foundation for the next focus, full site customization.
  5. Looking at the full editor screen also gives us the opportunity to drastically modernize the foundation, and take steps towards a more fluid and JavaScript powered future that fully leverages the WordPress REST API.


Blocks are the unifying evolution of what is now covered, in different ways, by shortcodes, embeds, widgets, post formats, custom post types, theme options, meta-boxes, and other formatting elements. They embrace the breadth of functionality WordPress is capable of, with the clarity of a consistent user experience.

Imagine a custom “employee” block that a client can drag to an About page to automatically display a picture, name, and bio. A whole universe of plugins that all extend WordPress in the same way. Simplified menus and widgets. Users who can instantly understand and use WordPress — and 90% of plugins. This will allow you to easily compose beautiful posts like this example.

Check out the FAQ for answers to the most common questions about the project.


Posts are backwards compatible, and shortcodes will still work. We are continuously exploring how highly-tailored metaboxes can be accommodated, and are looking at solutions ranging from a plugin to disable Gutenberg to automatically detecting whether to load Gutenberg or not. While we want to make sure the new editing experience from writing to publishing is user-friendly, we’re committed to finding a good solution for highly-tailored existing sites.

The stages of Gutenberg

Gutenberg has three planned stages. The first, aimed for inclusion in WordPress 5.0, focuses on the post editing experience and the implementation of blocks. This initial phase focuses on a content-first approach. The use of blocks, as detailed above, allows you to focus on how your content will look without the distraction of other configuration options. This ultimately will help all users present their content in a way that is engaging, direct, and visual.

These foundational elements will pave the way for stages two and three, planned for the next year, to go beyond the post into page templates and ultimately, full site customization.

Gutenberg is a big change, and there will be ways to ensure that existing functionality (like shortcodes and meta-boxes) continue to work while allowing developers the time and paths to transition effectively. Ultimately, it will open new opportunities for plugin and theme developers to better serve users through a more engaging and visual experience that takes advantage of a toolset supported by core.


Gutenberg is built by many contributors and volunteers. Please see the full list in


How can I send feedback or get help with a bug?

We’d love to hear your bug reports, feature suggestions and any other feedback! Please head over to the GitHub issues page to search for existing issues or open a new one. While we’ll try to triage issues reported here on the plugin forum, you’ll get a faster response (and reduce duplication of effort) by keeping everything centralized in the GitHub repository.

How can I contribute?

We’re calling this editor project “Gutenberg” because it’s a big undertaking. We are working on it every day in GitHub, and we’d love your help building it.You’re also welcome to give feedback, the easiest is to join us in our Slack channel, #core-editor.

See also

Where can I read more about Gutenberg?


The end of WordPress

I've decided to move to other CMS. WordPress is becoming crazy now. This Gutenberg stuff destroyed my ability to tolerate idiots.

It solved many of my past problems as a developer

As a developer I really love it, I can create my custom blocks with custom fields and let the client easily select where each blocks goes on the page. Also everything works very smooth, fast, without being stuffed with many options. This is not a page builder! It's a block eitor. Page builder are awful, heavy, slow, stuffy... I don't need a full blown page builder, because me as the developer, I am the page builder, the client just needs to change content and maybe rearrange some blocks, and Gutenberg does exactly that!

Too late, too rushed.

Bit too late to the game, but potentially useful for people who are "new" to WP. It is at a really "rushed and pushed" state IMHO, and needs a lot of work.

Muito ruim!

Muito ruim, tem muito que aprender este plugin para ficar bom para o mercado. E sem dúvida, uma das coisas mais irritantes, é querer ser diferente, mas na verdade acabou saindo dos padrões do mercado e sem nenhum atrativo que conquistasse o desenvolvedor. Um dos destaques deste plugin é meche com o bom funcionamento de outros plugins. 🙁

I know you guys read reviews.

It was a nice attempt actually, but you made it wrong. Please hire me as a product manager, I can lead the right process. The wrong part: -You made a simple editing tool for dashboard, while dashboard is mainly used by admins and editors, who are already professional with classic editor -On other side, lots of webprojects tend to create front end user experience - allow posts from subscribers but limiting them to theme design style. I personally have few sites, where I use frontend dashboard. My visitors add real estate properties, submit art posts, submit healthy food diaries. Here are the sites, take a look with Google translate: [links removed by moderator] I customised the solution from WP User Fronteng - a plugin that tries to achieve similar to Gutenberg goals, but from frontend, not from dashboard. But it is still not that great, a truly great tool would be a similar one used at [links removed by moderator] (not wordpress sites) So again: -Make a beautiful solution for frontend, that will contain Account page + add post + list of posts + add custom post + list of custom posts. -Limit functions to text field, li, h2, h3, embed image, embed video, embed gallery, custom field hooks/selects from database. Not admin users shouldn't have more. -Noone really uses dashboard except admins, it is really hard to convert visitor to a registered visitor nowadays, and they should see a really handy account page. Almost impossible to force user activity from a wordpress dashboard.

really bad , quirky for no reason and a hassle

Maybe Im just not one of those people who do very advanced DTP stuff with their blog, but Gutenberg block system is just a hassle, quirky as hell and doesn work in my 24inch screen at all. I tried for more than 2 months now but still have issues, and I don't like to spend time understanding my editor. An editor should be transparent to let you do your work. I just went back to the classic editor which came back as a plugin
Read all 2,379 reviews

Contributors & Developers

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


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

Translate “Gutenberg” into your language.

Interested in development?

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




  • Implement an async rendering mode for the data module updates.
  • Avoid rerendering the block components when selecting a block.
  • Improve the performance of isEditorEmptyPost selector (13% typing performance improvement).
  • Data Module: Avoid persisting unchanged values.
  • Update withSelect to use type-optimized isShallowEqual.
  • Move data selection to event handlers (called only when necessary).
  • Improve the initial rendering time by optimizing the withFilters Higher-order component.

Bug Fixes

  • Fix RichText toolbar when using multiline=”li”.
  • Correct the margin of the block icons in the inserter.
  • Fix ampersand in post tags causing editor crash.
  • Remove alignundefined class from gallery block edit markup.
  • Disable the button to open the publish sidebar if locked.
  • Correct the default margin for buttons with icons.
  • Keep the date floating when for posts with “pending” status.
  • Fix using the EXIF title when uploading images.
  • Fix font size picker on mobile.
  • Fix z-index of the Reusable Block Inserter button.
  • Fix autop behavior when a text is followed by a div.
  • Fix warning when returning null from a data module generator.
  • Announce the screen reader messages in the correct order in Safari.
  • Check Post Type support in the options modal.


  • Support customizing the table background colors.
  • Support underlining text using the keyboard shortcut ctrl+U.
  • Apply the editor styles to the HTML Block Preview.
  • Improve the color swatch selection indicator.
  • Improve scrolling behavior in Fullscreen Mode in Edge.
  • Remove deprecated embed providers.
  • Refactor the alignements support in the Cover Block and the Categories Block.
  • Code quality improvement to getBlockContentSchema
  • Internationalize the excerpt documentation link.
  • Improve pasting of quotes with citations.
  • A11y
    • Add a tooltip to the block list appender.
    • Improve the color contrast of the inserter shortcuts.
    • Remove the label from the Warning component’s menu.
  • Add an option to overwrite the block in the Warning component.


  • Support custom fetch handlers for wp.apiFetch.
  • Support additional data passed to the mediaUpload utility.
  • Add filter for the preview interstitial markup.
  • Avoid appending empty query string in wp.url.addQueryArgs.
  • Dispatch heartbeat events as hook actions to avoid the jQuery dependency.
  • Support adding classnames to the plugins sidebar panels.
  • Add a className to the parent page selector.


  • Add tutorials for
    • Creating sidebar plugins.
    • Using the Format API.
    • Creating meta blocks.
  • Reorganize the tutorials page.
  • Improve the UI component documentation:
    • The ButtonGroup component.
    • The IconButton component.
    • The SelectControl component.
    • The TextareaControl component.
    • The TabPanel component.
    • The Toolbar component.
    • The FormToggle component.
  • Update the Gutenberg Release and the Repository Management docs.
  • Add new section on scoping JS code.
  • Use Block Editor instead of Gutenberg in the docs.
  • Mention the Advanced Controls Panel in the design guidelines.
  • Clarify the unregisterBlockStyle documentation.
  • Clarify the difference between the button block and the button component.
  • Scope JavaScript ES5 code example.
  • Fix incorrect code example.
  • Clarify the deprecated APIs.
  • Fix typos 1 2 3 4 5 6 7.


  • Improve CI build times.
  • Extract error messages from console logging in E2E tests.
  • Reorganization of the E2E tests setup and expose it as npm packages.
  • Add aXe accessibility E2E tests support.
  • Add E2E tests for the excerpt meta box plugin.


  • Fix the Image Size implementation.
  • Fix scrolling long text content.