Title: Convert to Blocks
Author: 10up
Published: <strong>2 сар 15, 2021</strong>
Last modified: 1 сар 4, 2026

---

Search plugins

![](https://ps.w.org/convert-to-blocks/assets/banner-772x250.png?rev=2475058)

![](https://ps.w.org/convert-to-blocks/assets/icon.svg?rev=2844261)

# Convert to Blocks

 By [10up](https://profiles.wordpress.org/10up/)

[Download](https://downloads.wordpress.org/plugin/convert-to-blocks.1.3.4.zip)

[Live Preview](https://mn.wordpress.org/plugins/convert-to-blocks/?preview=1)

 * [Details](https://mn.wordpress.org/plugins/convert-to-blocks/#description)
 * [Reviews](https://mn.wordpress.org/plugins/convert-to-blocks/#reviews)
 *  [Installation](https://mn.wordpress.org/plugins/convert-to-blocks/#installation)
 * [Development](https://mn.wordpress.org/plugins/convert-to-blocks/#developers)

 [Support](https://wordpress.org/support/plugin/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+.**

## Screenshots

 * [[
 * Bulk migration using the `wp convert-to-blocks start` WP-CLI command that converts
   posts iteratively in the browser without requireing any manual input.

## Installation

#### Manual Installation

 1. Upload the entire `/convert-to-blocks` directory to the `/wp-content/plugins/` 
    directory.
 2. Activate Convert to Blocks through the ‘Plugins’ menu in WordPress.

## FAQ

### How Do I Know It’s Working?

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.

### Will Convert to Blocks Handle My Custom Blocks?

By default it will not.

### Will Convert to Blocks Handle Nested Blocks?

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

![](https://secure.gravatar.com/avatar/6427f6fc022cd88f9965fbbcfecd7426eb983f3dab6bf14abcba1e1289498656?
s=60&d=retro&r=g)

### 󠀁[Ten billion stars, preserves image alignment](https://wordpress.org/support/topic/ten-billion-stars-preserves-image-alignment/)󠁿

 [cmerrick](https://profiles.wordpress.org/cmerrick/) 5 сар 14, 2025 1 reply

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.

![](https://secure.gravatar.com/avatar/e33a98ff5d78147ce3a2eb7e484dad165e238002dab2ce7b74167d1384411c90?
s=60&d=retro&r=g)

### 󠀁[Does nothing wordpress doesn’t already do](https://wordpress.org/support/topic/does-nothing-wordpress-doesnt-already-do/)󠁿

 [synthezoid](https://profiles.wordpress.org/synthezoid/) 3 сар 12, 2025 1 reply

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?

![](https://secure.gravatar.com/avatar/b8e2aa21c51a17fe1ba602fe5f95168dd113645fb5e86388550a1d98dd8e6352?
s=60&d=retro&r=g)

### 󠀁[It works like a magic!](https://wordpress.org/support/topic/it-work-like-a-magic/)󠁿

 [megane9988](https://profiles.wordpress.org/megane9988/) 5 сар 20, 2024 1 reply

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.

![](https://secure.gravatar.com/avatar/bc6a70ae9a3c8fb53b96d973a7cc50dfac269ca23fab9d40d5c693db2db5cd35?
s=60&d=retro&r=g)

### 󠀁[Saves time!](https://wordpress.org/support/topic/saves-time-47/)󠁿

 [Dan Miller Coding](https://profiles.wordpress.org/danmillercoding/) 4 сар 9, 2024
1 reply

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!

![](https://secure.gravatar.com/avatar/42eab35c24ab462bc48a5d14609d0230ed6ba7beb663891121d46f35da421b0c?
s=60&d=retro&r=g)

### 󠀁[Works Silently in The Background!](https://wordpress.org/support/topic/works-silently-in-the-background-2/)󠁿

 [thedrumdoctor](https://profiles.wordpress.org/thedrumdoctor/) 4 сар 2, 2024 2 
replies

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.

![](https://secure.gravatar.com/avatar/40af412e047db484173bc45e2f6ee4237e9697f5ede64f3e49f05e096bb44edb?
s=60&d=retro&r=g)

### 󠀁[Very good, bulk is slow and error prone, but not developers fault](https://wordpress.org/support/topic/slow-and-error-prone-bulk-but-not-developers-fault/)󠁿

 [Adrian Mörchen](https://profiles.wordpress.org/adrian2k7/) 11 сар 6, 2023 2 replies

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…

 [ Read all 10 reviews ](https://wordpress.org/support/plugin/convert-to-blocks/reviews/)

## Contributors & Developers

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

Contributors

 *   [ 10up ](https://profiles.wordpress.org/10up/)
 *   [ Darshan Sawardekar ](https://profiles.wordpress.org/dsawardekar/)
 *   [ Taylor Lovett ](https://profiles.wordpress.org/tlovett1/)
 *   [ Jeffrey Paul ](https://profiles.wordpress.org/jeffpaul/)

“Convert to Blocks” has been translated into 7 locales. Thank you to [the translators](https://translate.wordpress.org/projects/wp-plugins/convert-to-blocks/contributors)
for their contributions.

[Translate “Convert to Blocks” into your language.](https://translate.wordpress.org/projects/wp-plugins/convert-to-blocks)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/convert-to-blocks/),
check out the [SVN repository](https://plugins.svn.wordpress.org/convert-to-blocks/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/convert-to-blocks/)
by [RSS](https://plugins.trac.wordpress.org/log/convert-to-blocks/?limit=100&mode=stop_on_copy&format=rss).

## 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](https://wordpress.org/support/users/dinhac/), [@dkotter](https://github.com/dkotter),
   [@faisal-alvi](https://github.com/faisal-alvi) via [#210](https://github.com/10up/convert-to-blocks/pull/210)).

#### 1.3.3 – 2025-07-14

 * **Added:** Link to settings page from the plugin list page (props [@badasswp](https://github.com/badasswp),
   [@dkotter](https://github.com/dkotter) via [#195](https://github.com/10up/convert-to-blocks/pull/195)).
 * **Changed:** Bump WordPress “tested up to” version 6.8 (props [@jeffpaul](https://github.com/jeffpaul)
   via [#199](https://github.com/10up/convert-to-blocks/pull/199), [#200](https://github.com/10up/convert-to-blocks/pull/200)).
 * **Changed:** Bump WordPress minimum supported version to 6.6 (props [@jeffpaul](https://github.com/jeffpaul)
   via [#199](https://github.com/10up/convert-to-blocks/pull/199), [#200](https://github.com/10up/convert-to-blocks/pull/200)).
 * **Fixed:** Fix PHP warning due to undefined array key (props [@sksaju](https://github.com/sksaju),
   [@dkotter](https://github.com/dkotter) via [#202](https://github.com/10up/convert-to-blocks/pull/202)).
 * **Fixed:** i18n functions being called too early, causing PHP Notices (props 
   [@stormrockwell](https://github.com/stormrockwell), [@dkotter](https://github.com/dkotter),
   [@dsawardekar](https://github.com/dsawardekar) via [#203](https://github.com/10up/convert-to-blocks/pull/203)).
 * **Security:** Bump `cookie` from 0.4.2 to 0.7.1, `express` from 4.21.0 to 4.21.2,`
   @wordpress/e2e-test-utils-playwright` from 1.7.0 to 1.18.0, `serialize-javascript`
   from 6.0.0 to 6.0.2 and `mocha` from 10.4.0 to 11.1.0 (props [@dependabot](https://github.com/apps/dependabot),
   [@Sidsector9](https://github.com/Sidsector9) via [#194](https://github.com/10up/convert-to-blocks/pull/194)).
 * **Security:** Bump `axios` from 1.7.4 to 1.8.3 (props [@dependabot](https://github.com/apps/dependabot),
   [@iamdharmesh](https://github.com/iamdharmesh) via [#196](https://github.com/10up/convert-to-blocks/pull/196)).
 * **Security:** Bump `http-proxy-middleware` from 2.0.6 to 2.0.9 and `tar-fs` from
   3.0.8 to 3.1.0 (props [@dependabot](https://github.com/apps/dependabot), [@dkotter](https://github.com/dkotter)
   via [#206](https://github.com/10up/convert-to-blocks/pull/206)).

#### 1.3.2 – 2025-02-03

 * **Changed:** Bump WordPress “tested up to” version 6.7 (props [@colinswinney](https://github.com/colinswinney),
   [@jeffpaul](https://github.com/jeffpaul) via [#188](https://github.com/10up/convert-to-blocks/pull/188),
   [#190](https://github.com/10up/convert-to-blocks/pull/190)).
 * **Security:** Bump `axios` from 1.6.8 to 1.7.4 (props [@dependabot](https://github.com/apps/dependabot),
   [@dkotter](https://github.com/dkotter) via [#180](https://github.com/10up/convert-to-blocks/pull/180)).
 * **Security:** Bump `webpack` from 5.91.0 to 5.94.0 (props [@dependabot](https://github.com/apps/dependabot),
   [@faisal-alvi](https://github.com/faisal-alvi) via [#181](https://github.com/10up/convert-to-blocks/pull/181)).
 * **Security:** Bump `ws` from 7.5.10 to 8.18.0 and `@wordpress/scripts` from 27.8.0
   to 30.4.0 (props [@dependabot](https://github.com/apps/dependabot), [@faisal-alvi](https://github.com/faisal-alvi)
   via [#182](https://github.com/10up/convert-to-blocks/pull/182), [#189](https://github.com/10up/convert-to-blocks/pull/189)).
 * **Security:** Bump `express` from 4.19.2 to 4.21.0 (props [@dependabot](https://github.com/apps/dependabot),
   [@iamdharmesh](https://github.com/iamdharmesh) via [#185](https://github.com/10up/convert-to-blocks/pull/185)).

#### 1.3.1 – 2024-08-20

 * **Changed:** Bump WordPress “tested up to” version 6.6 (props [@sudip-md](https://github.com/sudip-md),
   [@jeffpaul](https://github.com/jeffpaul), [@Sidsector9](https://github.com/Sidsector9),
   [@ankitguptaindia](https://github.com/ankitguptaindia) via [#174](https://github.com/10up/convert-to-blocks/pull/174)).
 * **Changed:** Bump WordPress minimum from 6.3 to 6.4 (props [@sudip-md](https://github.com/sudip-md),
   [@jeffpaul](https://github.com/jeffpaul), [@Sidsector9](https://github.com/Sidsector9),
   [@ankitguptaindia](https://github.com/ankitguptaindia) via [#174](https://github.com/10up/convert-to-blocks/pull/174)).
 * **Fixed:** Issue with saving a post before the convert to blocks transform was
   completed (props [@mdesplenter](https://github.com/mdesplenter), [@Sidsector9](https://github.com/Sidsector9),
   [@dsawardekar](https://github.com/dsawardekar) via [#173](https://github.com/10up/convert-to-blocks/pull/173)).
 * **Security:** Bump `braces` from 3.0.2 to 3.0.3 (props [@dependabot](https://github.com/apps/dependabot),
   [@Sidsector9](https://github.com/Sidsector9) via [#168](https://github.com/10up/convert-to-blocks/pull/168)).
 * **Security:** Bump `ws` from 7.5.9 to 7.5.10 (props [@dependabot](https://github.com/apps/dependabot),
   [@Sidsector9](https://github.com/Sidsector9) via [#169](https://github.com/10up/convert-to-blocks/pull/169)).

#### 1.3.0 – 2024-05-14

 * **Added:** Block Catalog integration, and pagination support (props [@dsawardekar](https://github.com/dsawardekar),
   [@iamdharmesh](https://github.com/iamdharmesh) via [#164](https://github.com/10up/convert-to-blocks/pull/164)).
 * **Changed:** Adjust `enable_block_editor` method only to alter posts that support
   the gutenbridge (props [@stormrockwell](https://github.com/stormrockwell), [@Sidsector9](https://github.com/Sidsector9),
   [@jeffpaul](https://github.com/jeffpaul), [@dsawardekar](https://github.com/dsawardekar)
   via [#136](https://github.com/10up/convert-to-blocks/pull/136)).
 * **Changed:** Bump WordPress “tested up to” version 6.5 (props [@QAharshalkadu](https://github.com/QAharshalkadu),
   [@jeffpaul](https://github.com/jeffpaul), [@Sidsector9](https://github.com/Sidsector9),
   [@sudip-md](https://github.com/sudip-md), [@dkotter](https://github.com/dkotter)
   via [#146](https://github.com/10up/convert-to-blocks/pull/146), [#161](https://github.com/10up/convert-to-blocks/pull/161)).
 * **Changed:** Replaced [lee-dohm/no-response](https://github.com/lee-dohm/no-response)
   with [actions/stale](https://github.com/actions/stale) to help with closing no-
   response/stale issues (props [@jeffpaul](https://github.com/jeffpaul) via [#159](https://github.com/10up/convert-to-blocks/pull/159)).
 * **Changed:** Bump Node version from 16 to 20 (props [@aaronjorbin](https://github.com/aaronjorbin),
   [@Sidsector9](https://github.com/Sidsector9), [@dkotter](https://github.com/dkotter)
   via [#160](https://github.com/10up/convert-to-blocks/pull/160)).
 * **Changed:** Bump `actions/upload-artifact` from v3 to v4 (props [@iamdharmesh](https://github.com/iamdharmesh)
   via [#162](https://github.com/10up/convert-to-blocks/pull/162)).
 * **Security:** Bump `follow-redirects` from 1.15.2 to 1.15.4 (props [@dependabot](https://github.com/apps/dependabot),
   [@dkotter](https://github.com/dkotter) via [#153](https://github.com/10up/convert-to-blocks/pull/153)).
 * **Security:** Bump `browserify-sign` from 4.0.4 to 4.2.2 (props [@dependabot](https://github.com/apps/dependabot),
   [@dkotter](https://github.com/dkotter) via [#145](https://github.com/10up/convert-to-blocks/pull/145)).
 * **Security:** Bump `@babel/traverse` from 7.11.5 to 7.23.7 (props [@dependabot](https://github.com/apps/dependabot),
   [@dkotter](https://github.com/dkotter) via [#155](https://github.com/10up/convert-to-blocks/pull/155)).
 * **Security:** Remove old dependencies in favor of using `@wordpress/scripts` 
   in our build workflow (props [@Sidsector9](https://github.com/Sidsector9), [@dkotter](https://github.com/dkotter)
   via [#167](https://github.com/10up/convert-to-blocks/pull/167)).

[View historical changelog details here](https://github.com/10up/convert-to-blocks/blob/develop/CHANGELOG.md).

## Community plugin

This plugin is developed and supported by a community. [Contribute to this plugin](https://github.com/10up/convert-to-blocks)

## Meta

 *  Version **1.3.4**
 *  Last updated **4 сар ago**
 *  Active installations **2,000+**
 *  WordPress version ** 6.6 or higher **
 *  Tested up to **6.9.4**
 *  PHP version ** 8.0 or higher **
 *  Languages
 * [Catalan](https://ca.wordpress.org/plugins/convert-to-blocks/), [Chinese (Taiwan)](https://tw.wordpress.org/plugins/convert-to-blocks/),
   [Dutch](https://nl.wordpress.org/plugins/convert-to-blocks/), [English (US)](https://wordpress.org/plugins/convert-to-blocks/),
   [French (France)](https://fr.wordpress.org/plugins/convert-to-blocks/), [Japanese](https://ja.wordpress.org/plugins/convert-to-blocks/),
   [Portuguese (Portugal)](https://pt.wordpress.org/plugins/convert-to-blocks/),
   [Swedish](https://sv.wordpress.org/plugins/convert-to-blocks/).
 *  [Translate into your language](https://translate.wordpress.org/projects/wp-plugins/convert-to-blocks)
 * Tag
 * [block](https://mn.wordpress.org/plugins/tags/block/)
 *  [Advanced View](https://mn.wordpress.org/plugins/convert-to-blocks/advanced/)

## Ratings

 4.7 out of 5 stars.

 *  [  9 5-star reviews     ](https://wordpress.org/support/plugin/convert-to-blocks/reviews/?filter=5)
 *  [  0 4-star reviews     ](https://wordpress.org/support/plugin/convert-to-blocks/reviews/?filter=4)
 *  [  0 3-star reviews     ](https://wordpress.org/support/plugin/convert-to-blocks/reviews/?filter=3)
 *  [  1 2-star review     ](https://wordpress.org/support/plugin/convert-to-blocks/reviews/?filter=2)
 *  [  0 1-star reviews     ](https://wordpress.org/support/plugin/convert-to-blocks/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/convert-to-blocks/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/convert-to-blocks/reviews/)

## Contributors

 *   [ 10up ](https://profiles.wordpress.org/10up/)
 *   [ Darshan Sawardekar ](https://profiles.wordpress.org/dsawardekar/)
 *   [ Taylor Lovett ](https://profiles.wordpress.org/tlovett1/)
 *   [ Jeffrey Paul ](https://profiles.wordpress.org/jeffpaul/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/convert-to-blocks/)