Docs to Blocks turns a finished Google Docs or Word draft into a ready-to-publish WordPress post in seconds. No reformatting, no rebuilt tables, no lost alt text. You review the preview and hit publish.
You already did the hard part in Google Docs or Word. Then the paste undoes it. Most importers do not save you the rework: they either drop the whole document in as one Classic block you still have to rebuild, or they bring the text across but lose your tables, images and colour styling. Either way you are back to formatting by hand, element by element. Here is the split.
Before anything is created on your site, Docs to Blocks shows you the whole post, the same one at the top of this page: how many blocks it became, the heading outline, the images it will upload and every field it filled in. If the conversion is wrong, it costs you a click, not a junk draft and a pile of orphaned attachments. Here is what comes across.
Title, post type, status and author, all chosen before the draft exists. Pull the title from a heading or from your brief table, publish it or keep it private, and assign the right author, without opening the editor first.
Put a table at the top of your document with the slug, meta description, focus keyword, categories and tags. Docs to Blocks reads them straight off it, fills in every field, and leaves that table out of the published post. If you write to a brief, this is the part that saves the most clicks.
Upload a .docx and the alt text on every image is carried into your media library and written to the attachment, where your theme and SEO plugins read it. The preview audits every image, so you can see what has alt text before you publish.
A Google Docs link cannot carry alt text, because Google does not include it in any export. Upload the .docx to keep it. The plugin says so on screen, and so do we.
Imported posts look like they were built in your theme, because they were. Boxed passages and table headers pick up your theme's own colour names, so a later restyle carries them with it. Want exact brand colours instead? Save your own and they are written into the post as real values that stay put. Your call, per element.
Every import is logged with an estimate of the hand-editing it replaced, so you can show where the hour went. The Imported tab keeps the running total and links straight to each post it created.
| Post | Imported | Saved | |
|---|---|---|---|
| When Strategic Asset Allocation Beats Tactical Shifts Draft | 2 hours ago | 17 min | OpenPreview |
| How AI Overviews Choose Which Pages to Cite Published | 15 min ago | 16 min | OpenPreview |
| Quarterly Content Report Pending review | 2 days ago | 8 min | OpenPreview |
The time figure is an estimate from a simple per-element model, not a stopwatch. So the plugin shows you the exact rates it used: seconds to split a paste into a real block, per table row, per image. You can check the maths, and none of it is hidden.
Paste a Google Docs share link and it pulls the document to your server, or upload a .docx exported from Docs, Word, Pages or LibreOffice. Upload is the better path when images matter, because that is the only way alt text comes across.
No account to create, no API key to paste, no paid tier holding the good parts hostage, and no telemetry. The only outbound request the plugin ever makes is fetching the document you asked for, from Google, to your own server.
It is free, and free in a way you can check. No account, no API key, no paid tier with the good parts held back, no upsell notices, and no telemetry. The only outbound request it ever makes is fetching the document you asked for, from Google, to your own server. It is self-hosted, so nothing runs through us.
No. Nothing is written to your site until you click create. The preview shows you the whole post first, so if the conversion is wrong it costs a click, not a junk draft and a pile of orphaned attachments.
Yes, when you upload a .docx. The alt text on every image is written to the media library attachment, where your theme and SEO plugins read it. From a Google Docs link it does not come across, because Google does not include alt text in any export format. If images matter, upload the file.
Yes. Paste a share link set to "anyone with the link" and the plugin pulls the document straight to your own server. Google's google.com/url?q= redirect wrappers are stripped from your links along the way. Upload is still the better path when you need alt text.
Once it is on WordPress.org, install it from your dashboard under Plugins, Add New, then search for Docs to Blocks. Or upload the zip under Plugins, Add New, Upload. Activate it and open Docs to Blocks in the admin menu. No account or key to set up.
No. It never produces core/freeform, and there is an automated test asserting exactly that. You get native blocks: headings, lists with nested list items, real tables with a header row, and images backed by real attachments.
No. Nothing in it is AI. It reads the structure of your document and maps each element to the matching block, the same way every time. That is also why it has no API key and makes no outbound request beyond fetching your document.
It is an estimate from a per-element model, not a stopwatch. The plugin shows you the exact rates it used, in seconds per block, per table row and per image, so you can check the maths yourself.
Write it in Google Docs. Publish it in WordPress. Let Docs to Blocks do the formatting in between. Free, self-hosted, and yours to check.
Nothing is written to your site until you click create. No account, no API key, no telemetry.