Convert your Markdown articles to WordPress Gutenberg block markup instantly. Paste-ready paragraphs, headings, quotes, code, and tables — free, no sign-up.
Open Editor for WordPress →wp:paragraph — body textwp:heading — H1–H6 with correct level attributeswp:quote — blockquoteswp:list — ordered and unordered listswp:code — fenced code blockswp:image — images with alt textwp:table — tables in a figure wrapperwp:separator — horizontal ruleswp:html — fallback for custom markupFormatio speaks Gutenberg: the output is block markup the WordPress block editor understands natively.
| Rule | What Formatio does | Why it matters on WordPress |
|---|---|---|
| Blocks | Emits Gutenberg block comments (wp:paragraph, wp:heading, wp:quote, …) | The block editor recognizes block markup and maps it to native, editable blocks |
| Headings | Preserves the heading level in block attributes | Your outline survives the paste as real H2/H3 blocks |
| Code | Wraps code in a wp:code block with the language attribute | Syntax-highlighting plugins can pick the language up |
| Tables | Uses wp:table blocks | Tables stay editable in the block editor instead of pasting as dead HTML |
| Unknown markup | Falls back to a wp:html block | Nothing is silently dropped on paste |
Running a blog and a newsletter? Format the same draft for Substack without rewriting.
Formatio wraps your content in Gutenberg block comments such as <!-- wp:paragraph --> and <!-- wp:heading -->. Copy the output and paste into the WordPress block editor, or paste into a Custom HTML block if your theme prefers raw markup.
Paragraphs, headings (H1–H6), quotes, ordered and unordered lists, code blocks, images, separators, and tables. Unknown HTML is wrapped in an HTML block so nothing is lost.
Yes. You can also export clean HTML or Markdown and paste into the classic editor. Gutenberg block comments are most useful when pasting into the block editor.
Yes. Formatio emits standard block comments such as wp:paragraph and wp:heading with a level attribute, so the WordPress block editor maps each piece to a native, editable block.
It is wrapped in a Custom HTML block (wp:html), so nothing is lost and you can still edit the raw markup inside WordPress.