Convert to Blocks
Convert to Blocks
Description
Convert to Blocks is a WordPress plugin that transforms classic editor content to blocks on-the-fly. After installing Gutenberg or upgrading to WordPress 5.0+, your content will be displayed in “Classic Editor Blocks”. While these blocks are completely functional and will display fine on the frontend of your website, they do not empower editors to fully make use of the block editing experience. In order to do so, your classic editor posts need to be converted to blocks. This plugin does that for you “on the fly”. When an editor goes to edit a classic post, the content will be parsed into blocks. When the editor saves the post, the new structure will be saved into the database. This strategy reduces risk as you are only altering database values for content that needs to be changed.
Note that Inner Blocks Transforms is only supported with the Gutenberg Plugin 10.9.0+.
Installation
Manual Installation
- Upload the entire
/convert-to-blocksdirectory to the/wp-content/plugins/directory. - Activate Convert to Blocks through the ‘Plugins’ menu in WordPress.
Screenshots
Faq
Find a classic editor in the post, try to navigate away from the page. You will get an error saying your changes will be discarded. This is because Convert to Blocks converted your content to blocks on the fly and those changes will be saved when you update the post.
By default it will not.
Nested / Inner Block support does not work with Gutenberg bundled with WordPress Core <=5.7.2. This feature needs the Gutenberg Plugin >=10.9.0.
Reviews
Ten billion stars, preserves image alignment
By cmerrick on May 14, 2025
You might wonder why you need this plugin when the "Convert to blocks" button is right there at the top of every Classic block. Well, click that and it will eff up any images you had using the <figure class="alignleft"> (or alignright) code. The default WP "convert to blocks" strips out the figure code entirely and POOF your alignment class is gone and your caption is off god knows where. But not this plugin! Add this and when you open your classic page in the block editor, it preserves the figure tag and alignment class. Saved me having to redo image settings on 600 post. Thank you 10up.
Does nothing wordpress doesn't already do
By synthezoid on March 12, 2025
All this does is convert posts into HTML blocks, same as happens if you manually tell WordPress to convert a classic HTML post to blocks. Ok, it saves a single mouse click... why install a plugin to save one mouse click?
It works like a magic!
By megane9988 on May 20, 2024
When you run a command and open a URL, the browser opens articles one after another and converts them into blocks. It magically automatically converts blocks quickly and accurately.
Saves time!
By Dan Miller Coding (danmillercoding) on April 9, 2024
Saves me a lot of time. Used it two times on large projects.
I did not try the bulk option, but I just read that it can have bugs or crashes. Probably due to server load or unusual post content?
What I did instead was create a button that that when pressed automatically opens in a new tab the 20 posts from the Posts Table view.
I then waited for them to load.
After they were all loaded I went to each page and updated the page.
I then waited a while for all of them to be saved and double checked in the Posts Table if all the posts were converted to the Block editor. The little icon showing if the post is Classic or Block comes very handy!
Once I confirmed that all 20 posts from the Posts Table view were converted I moved to the next page and repeated the process.
This semi-automated process helps prevent "bugs" or perhaps random server spikes.
I was running this on my own private cloud server with little resources. Surprisingly saving 20 posts at once was possible without any crashes.
I did not have any bugs or issues.
Thank you for creating this plugin!
Works Silently in The Background!
By thedrumdoctor on April 2, 2024
I have a load of old posts and pages done in the original WP editor which desperately needed converting to blocks in order to play nicely with a child theme I was working on. We know the block editor has the facility to go through posts/pages one-by-one and convert to blocks - but this is painful....
This plugin seems to do that job for you, but silently in the background.
Once I'd activated it and saved the settings, nothing happened....at least, not visually. It was only when I started to look at the entries made in the legacy editor that I could see they had been converted to block format - silently!
The only improvement I can suggest is a message on the plug-in interface page which says something like, "when you have ticked the checkboxes, press the save button and your conversion will commence as a background task."
I don't know if that would make sense in keeping with the way the plug-in works. I only have a couple of hundred posts so it did the job quickly. I don't know how it would perform on a site with thousands of old posts in legacy editor format. Either way, thanks to the author for saving me the time.
Very good, bulk is slow and error prone, but not developers fault
By Adrian (Adrian2k7) on November 6, 2023
Very good plugin, which helps to migrate a lot of posts.
We have a project with ~8000 posts, which needs to be converted. Only standard text and images...
Unfortunatly WordPress itself is pushing Gutenberg, but not providing tools for this task.
This plugin is helping a lot. Basically it opens the browser, clicks the button, saves the post, opens the next post ...
A quite clever solution, which unfortunately is slow and sometimes breaks.. Means you have to monitor the task and reload the tab from time to time...
Handy!
By Mehedi Hasan (B-07) on July 3, 2023
Works as expected.. very useful tool.
Works with warning
By cvladan on June 8, 2023
This is the only plugin that is actively maintained and gets the job done. I see that in the next revision it will receive basic settings on which post types it works on, but until then, read the support for the solution to the problem that you have lost Gutenberg on all custom post types.
Useful
By tuannguyenplv on January 29, 2023
Useful
Useful
By myuption on July 16, 2021
Changelog
1.3.4 – 2025-07-15
- Fixed: Ensure no PHP error is thrown on the plugin list screen when running PHP 8.0 (props @dinhac, @dkotter, @faisal-alvi via #210).
1.3.3 – 2025-07-14
- Added: Link to settings page from the plugin list page (props @badasswp, @dkotter via #195).
- Changed: Bump WordPress “tested up to” version 6.8 (props @jeffpaul via #199, #200).
- Changed: Bump WordPress minimum supported version to 6.6 (props @jeffpaul via #199, #200).
- Fixed: Fix PHP warning due to undefined array key (props @sksaju, @dkotter via #202).
- Fixed: i18n functions being called too early, causing PHP Notices (props @stormrockwell, @dkotter, @dsawardekar via #203).
- Security: Bump
cookiefrom 0.4.2 to 0.7.1,expressfrom 4.21.0 to 4.21.2,@wordpress/e2e-test-utils-playwrightfrom 1.7.0 to 1.18.0,serialize-javascriptfrom 6.0.0 to 6.0.2 andmochafrom 10.4.0 to 11.1.0 (props @dependabot, @Sidsector9 via #194). - Security: Bump
axiosfrom 1.7.4 to 1.8.3 (props @dependabot, @iamdharmesh via #196). - Security: Bump
http-proxy-middlewarefrom 2.0.6 to 2.0.9 andtar-fsfrom 3.0.8 to 3.1.0 (props @dependabot, @dkotter via #206).
1.3.2 – 2025-02-03
- Changed: Bump WordPress “tested up to” version 6.7 (props @colinswinney, @jeffpaul via #188, #190).
- Security: Bump
axiosfrom 1.6.8 to 1.7.4 (props @dependabot, @dkotter via #180). - Security: Bump
webpackfrom 5.91.0 to 5.94.0 (props @dependabot, @faisal-alvi via #181). - Security: Bump
wsfrom 7.5.10 to 8.18.0 and@wordpress/scriptsfrom 27.8.0 to 30.4.0 (props @dependabot, @faisal-alvi via #182, #189). - Security: Bump
expressfrom 4.19.2 to 4.21.0 (props @dependabot, @iamdharmesh via #185).
1.3.1 – 2024-08-20
- Changed: Bump WordPress “tested up to” version 6.6 (props @sudip-md, @jeffpaul, @Sidsector9, @ankitguptaindia via #174).
- Changed: Bump WordPress minimum from 6.3 to 6.4 (props @sudip-md, @jeffpaul, @Sidsector9, @ankitguptaindia via #174).
- Fixed: Issue with saving a post before the convert to blocks transform was completed (props @mdesplenter, @Sidsector9, @dsawardekar via #173).
- Security: Bump
bracesfrom 3.0.2 to 3.0.3 (props @dependabot, @Sidsector9 via #168). - Security: Bump
wsfrom 7.5.9 to 7.5.10 (props @dependabot, @Sidsector9 via #169).
1.3.0 – 2024-05-14
- Added: Block Catalog integration, and pagination support (props @dsawardekar, @iamdharmesh via #164).
- Changed: Adjust
enable_block_editormethod only to alter posts that support the gutenbridge (props @stormrockwell, @Sidsector9, @jeffpaul, @dsawardekar via #136). - Changed: Bump WordPress “tested up to” version 6.5 (props @QAharshalkadu, @jeffpaul, @Sidsector9, @sudip-md, @dkotter via #146, #161).
- Changed: Replaced lee-dohm/no-response with actions/stale to help with closing no-response/stale issues (props @jeffpaul via #159).
- Changed: Bump Node version from 16 to 20 (props @aaronjorbin, @Sidsector9, @dkotter via #160).
- Changed: Bump
actions/upload-artifactfrom v3 to v4 (props @iamdharmesh via #162). - Security: Bump
follow-redirectsfrom 1.15.2 to 1.15.4 (props @dependabot, @dkotter via #153). - Security: Bump
browserify-signfrom 4.0.4 to 4.2.2 (props @dependabot, @dkotter via #145). - Security: Bump
@babel/traversefrom 7.11.5 to 7.23.7 (props @dependabot, @dkotter via #155). - Security: Remove old dependencies in favor of using
@wordpress/scriptsin our build workflow (props @Sidsector9, @dkotter via #167).
