Free Markdown publishing tool
Markdown to HTML converter
Turn simple Markdown into clean article HTML. Paste your draft, read the preview, then copy reviewed HTML source or download an article fragment for your website.
Have a Word file or a Google Docs draft? Open a .docx or paste a formatted selection, then preview before replacing your article.
See a complete conversion first: Free, with no account or AI setup.
Import a file, keep source notes, or use more editing tools
Conversion stays in this tab. No upload, account, or API credits are needed. There is no autosave; save a private backup before refreshing or leaving. You inspect and publish in your own destination.
Save or restore this workspace
Private backup, not a publishable article. The JSON file includes your source notes, audience, purpose, article, and review questions. It is unencrypted. Keep it private and out of public repositories. It contains no sign-in details or approval.
There is still no autosave. Check that the file is saved on your device before closing this tab. Browser exit warnings can be missed, especially on mobile.
How backups and article exports differ (new tab)Import an article or drafting result
Open a Word .docx, bring Markdown or article JSON, or paste a formatted selection. Preview first. Replace the article or insert writing into it. Nothing is uploaded, and your current writing stays intact until you apply.
Check the import
Insertion keeps your existing title, excerpt, description, filename, source notes, and review notes. Only the imported body is used; imported page details and questions are not added. You can include its title as a section heading below. Replacement keeps the existing import behavior.
Preview where this writing will go
For a selection, place the article cursor between complete blocks, or select complete paragraphs, lists, tables, or code blocks. Then preview here. A partial paragraph or block is refused. Adding to the end needs no selection. Applying saves a checkpoint first. Nothing is changed by previewing.
Reading preview of the conversion
Page details to import
Keep the Word images
Recover embedded PNG and JPEG files with numbered placement notes and the alternative text supplied in Word. Images are not displayed here or uploaded. Linked images and other formats stay as placeholders.
Download before importing. Applying or clearing this import discards the prepared image package. Extract the ZIP, upload the files to your WordPress Media Library, and replace the numbered placeholders yourself. These files are separate from workspace backups and article exports.
Unmapped front matter
These fields will not be imported. Keep any values your destination needs in your original file or private notes.
An import preview is temporary and is not included in workspace backups. Apply the import to keep its article and questions. Supported formats, insertion steps, and examples (new tab)
1. Paste or edit your draft
Up to 60,000 characters of plain text or Markdown. Pasting beyond the limit is rejected in full so the ending is not silently cut off. Rich formatting from Word or Google Docs is not imported by pasting. Select text, then choose a formatting tool. Revisions keeps previous writing in this tab.
0 approximate words; 0 / 60,000 characters
More editing tools and draft history
Edit links, images, and tables, check the draft, or compare earlier versions. Opening these tools keeps your writing and export approval.
Article tables: create or edit
Edit cells without writing pipe-table syntax. Choose a supported article table or create one at the article end. Preparation stays separate until you preview and apply.
Choose an existing table or create one.
Prepare table cells
One line per cell, up to 2,000 characters. Simple Markdown inside cells is supported. Cell edges are trimmed and literal pipes escaped when applying a change. Headers are required for new or changed tables. Scroll the grid horizontally for wider tables.
Review the exact table change
Prepared table preview
Exact source before and after
Table editor is loading. You can edit table Markdown directly.
Up to twelve columns and 100 data rows, edited ten rows at a time. No merged cells or multiline cells. Applying saves an in-tab checkpoint and clears export approval and the linked-image choice. Unsaved preparation is excluded from backups, collections, and exports. Closing clears the preview and keeps prepared cells. Table editing help (new tab)
Article links: add, edit, or remove
Select plain article text or place its cursor, then choose Use current article selection. Place the cursor inside an existing inline link to edit it, or choose one below. No destination page is fetched or verified.
Choose a location or an existing link.
Describe where the link leads, up to 300 characters on one line. Surrounding article text and spaces are kept exactly.
An absolute HTTP or HTTPS address, up to 2,048 characters. No credentials, spaces, quoted titles, or multiline URLs. The entered address is preserved in Markdown.
Review the exact link change
Link editor is loading. You can edit Markdown directly.
Inspect the links in this article
Applying checkpoints previous writing and clears export approval and the WordPress linked-image choice. Article edits invalidate pending locations. Closing this panel clears its preview and keeps preparation. Unsaved link preparation is excluded from backups, collections, and exports; apply first to keep it. Link editing help (new tab)
Add or edit an article image
Use an existing public HTTPS image URL. Select a Word image placeholder or ordinary article text to replace it, or place a new image at the article end. Paragraph breaks keep the image separate. No image is loaded, uploaded, or checked here.
Choose a location before preparing a change.
A direct image file URL, up to 2,048 characters. No credentials, spaces, or quoted titles. The address is preserved as entered.
Describe the image's purpose in this article, up to 500 characters on one line. For an intentionally decorative image, clear this field and select the option below.
Review the exact replacement
Only the selected text is replaced. Added paragraph breaks appear below. The rest of the article is kept exactly.
Image editor is loading. You can edit Markdown directly.
Applying saves a checkpoint and clears export approval and the linked-image choice. For WordPress, open Images for WordPress and explicitly choose linked Image blocks afterward. Other exports keep image Markdown as text. Unsaved image preparation is excluded from backups, collections, and exports; apply it first to keep it. Image editing help (new tab)
Find & replace in the article
Find literal words or phrases in the article body, including Markdown, code, and link addresses. Matches are substrings and do not overlap. Source notes, review notes, and page details are kept. No AI request or upload is made.
Loading article search. You can keep editing while it loads.
Navigation wraps at the ends. Enter in Find text selects the next match; Shift+Enter selects the previous one. Searching keeps review approval.
Replacement text is literal. Leave it empty to delete matching text. Replacements keep the previous workspace as a checkpoint and clear approval. Review formatting and links afterwards.
Review the replacements
Editing the article or search settings clears this preview. The applied change uses the complete current article, not only these examples. Editing and checkpoint help (new tab)
Outline & draft checks
Find unfinished placeholders, repeated passages, empty sections, heading jumps, and paragraphs over 120 approximate words. These suggestions do not verify facts, sources, permissions, grammar, or whether a web address works. How checks work (new tab)
Your section outline
Move a section up or down beside a heading at the same level within its parent. Its deeper subsections move with it; opening text before the first heading stays in place. Moves save a checkpoint in this tab and clear export approval. Review the reading preview afterward.
Run checks when you are ready to review. Nothing is changed automatically.
Links & image handoff
Run draft checks to inspect inline link and image syntax.
Review claims against sources
Choose a short claim, compare it with your source, and record your judgment. Saved records use the existing private review notes: 12 notes total, 500 characters each. They stay in backups, checkpoints, and saved collection entries; article exports exclude them. Passage review help (new tab)
This is a record of your review, not independent fact-checking. Recheck decisions after editing the article or source. An exact text match does not establish accuracy or support.
Select a short excerpt above, or enter evidence from a source you checked yourself. Edit the full source notes under Source notes & review.
Passage review is loading. Ordinary review notes remain available.
Preparing a review does not change writing or approval. Save adds or updates a private note, keeps a checkpoint, and clears approval. Unsaved fields above are excluded from backups. Shorten the combined record to 500 characters; no text is silently truncated. Source references stay as text and are never opened or checked here.
Saved passage reviews
No saved passage reviews yet.
Keep several articles in a private collection
Save up to eight workspaces in one private file. Add or update an article explicitly, then download the collection before leaving. Editing the article does not update its saved entry. This tab has no autosave or account history.
Draft collections are loading. Single-workspace backups and article exports remain available.
Revisions in this tab
Keep a version before changing direction. Checkpoints contain your notes, article, page details, and review questions in this tab's memory only. Imports and article insertions, workspace restores, formatting, section moves, find-and-replace edits, image, link, and table changes, filename suggestions, outline replacements, and removing a review note also keep the previous writing. Checkpoints can be lost when you refresh or leave. Download a private backup before closing.
Compare and recover
Article changes
Compare the selected checkpoint's article body with your current body. Added and removed lines include line endings; unchanged lines are omitted. This view does not merge writing, verify claims, or change export approval. It stays in this tab and is excluded from backups and exports. How to read the comparison (new tab)
Save a checkpoint, then open this comparison.
A download keeps one version in the existing private workspace format, without history, labels, approval, preferences, or sign-in details. Clear this writing desk removes all writing and checkpoints from this tab. Checkpoint and backup help (new tab)
Page details for your publishing destination
Excerpt, description, and filename are optional for WordPress blocks and the WordPress kit. All page fields are required for page Markdown. Copying the body needs only the article; a reading page needs the title and article.
A listing summary, up to 300 characters.
0 / 160 characters
Lowercase letters, digits, and separating hyphens.
2. Preview and continue
Show reading preview
Preview formats and limits
Headings, nested lists, nested single-line bold and italic text, code, quotes, and simple pipe tables. Lists preserve starting numbers and support six levels and 200 single-line items per continuous group. Tables support up to 12 columns and 100 data rows; every row must have the same column count. Inline links with an absolute http:// or https:// address open a new tab when selected; no address is loaded until then. Safe link labels can contain emphasis and code. Images, source HTML, and other link formats stay as text. Inline nesting is limited to 16 levels; multiline or overly complex inline structures stay literal. Your website can render differently.
Paste an article or try the fictional sample to see its reading preview.
Convert reference-style links
Turn references such as [Read the source][source] and [source][] into ordinary inline links before exporting. Matching shortcuts such as [source] are included when a supported definition exists. Preview first; nothing changes until you apply.
Use single-line definitions such as [source]: https://example.com/ at the left edge in a separate paragraph. Identifiers use up to 80 ASCII letters, digits, spaces, periods, hyphens, or underscores and match without case or repeated-space differences. Destinations must be absolute HTTP(S) URLs without credentials or titles. Images, footnotes, duplicate definitions, complex labels, source HTML, and multiline definitions need manual review. Reference conversion limits (new tab)
Preview first, then compare and apply deliberately.
Inspect the proposed article
The first five expanded links are shown below. The exact complete result is available after the reading preview. Other text and line endings are retained. Unresolved items stay unchanged; no URL is visited or verified.
At most 40 findings are displayed. Inspect the complete article if more are reported.
Inspect the exact proposed Markdown
3. Choose your export
Your publishing checklist
Your own reminders, separate from export approval. Checking them does not verify facts or publish anything. Writing or export-choice changes reset the ticks.
Reuse a publishing setup
Keep your destination, title-handling choices, and personal review routine for the next article. Download a profile file, then load it on your next visit. No account or autosave. Applying it changes export choices and clears approval; your article and source notes stay in place.
Publishing profiles are loading. Writing and exports remain available.
Continue in Word
An editable article with common headings, emphasis, links, code, nested lists, and simple tables. The title is optional. Page metadata, source notes, private review notes, and revision history are excluded. Source HTML and images in Markdown stay literal. The file is unencrypted; inspect your actual editor before sharing. Word handoff guide (new tab)
Take your Markdown
Copy Markdown text or save a .md file. No excerpt, description, filename field, or front matter is required. The same title choice applies to Markdown with page details.
Inspect or manually copy the approved Markdown
The body keeps its current Markdown, including unsupported syntax and literal HTML. Your destination can interpret HTML and load linked images differently. Inspect it before publishing. Source notes, review questions, and revision history are excluded. Markdown export help (new tab)
Continue with HTML source
Copy code for an editor that accepts HTML source. The body is enough; title and page fields are optional. Add the title separately if your website already displays one. Source HTML and images in your Markdown remain literal text. Theme styling can vary.
Inspect or manually copy the approved HTML source
This is an article fragment without document metadata or WordPress block comments. The generated code uses explicit line breaks and fixed table alignment and wrapping hints; editors can strip styling. It excludes private source notes, review questions, and revisions. For a complete document to open in a browser, choose Download reading page below. No upload or publishing occurs. HTML handoff help (new tab)
Continue in WordPress
Image preparation is loading. Images stay as text until explicitly selected.
Images for WordPress
Supports a simple  alone in its own paragraph. The option affects WordPress copies, block downloads, and the WordPress kit only. It resets when the body changes, you leave WordPress, import or restore writing, or apply or clear a publishing profile. It is excluded from backups and profile files.
No image is loaded here. These are links to files, not Media Library uploads. WordPress and browsers can request their URLs when you open the exported blocks. Use public HTTPS image files you have permission to publish. Inspect every image in WordPress; use Upload to Media Library if you want a copy stored on your site. Review alternative text, including intentionally decorative images.
The reading preview, reading page, HTML source, formatted copies, and Word keep image syntax as text. Original Markdown keeps its references. Inline images among prose, images inside lists, headings, quotes or tables, reference images, titles, source HTML, and unsafe URLs are outside linked-image conversion. The references below are text only; availability, file type, content, and permissions are not verified.
To add an image or replace an omitted Word image, use Add or edit an article image below the article. Edit buttons here open the same guided editor for supported paragraph positions.
The text file contains all recognized image URLs and alternative text from this article. Inspect it before sharing. Source notes and private review notes are excluded. Image handoff help (new tab)
Before you copy: inspect the handoff
These local checks cover some formatting limits and unfinished writing patterns. They do not verify facts, grammar, permissions, or URLs. Use each finding to select its current article passage. Nothing changes automatically.
How to paste these blocks in WordPress
- Create a new, empty draft post in WordPress. Enter your article title in its title field.
- Open the editor Options menu, select Code editor, and paste the copied blocks into the post body. This is for the block editor, not a Custom HTML block or the Classic Editor.
- Return to Visual editor. Inspect headings, lists, tables, quotes, and links. Inspect linked images, rebuild unsupported content, and add page fields before previewing the post.
The body becomes editable blocks. The title, excerpt, description, source notes, and review questions are excluded. Images stay as text unless you explicitly select supported linked images above. Complex Markdown stays as text; rebuild it in WordPress. Numbered lists preserve their starting value. Unsupported list groups stay intact as text. Nothing connects to your WordPress account. WordPress handoff help (new tab)
Inspect or manually copy the approved blocks
Post fields & complete WordPress kit
Excerpt goes in the post Excerpt setting. Filename becomes the suggested Slug/permalink when available. Description goes in your SEO tool only if it offers that field. These fields are separate from the article body.
Keep the handoff together
A ZIP with blocks, original Markdown, a reading page, page details, current handoff findings, and WordPress instructions. Source notes and private review questions are excluded. This does not restore your workspace. Kit instructions (new tab)
More export options
Continue in an editor
Formatted copying provides basic headings, lists, emphasis, code, and web links. Your title is included only when selected above. Body copying keeps Markdown without title or metadata. Paste and inspect the result in your own editor.
Take a single file
Body: Markdown without title or metadata. Reading page: a standalone HTML file with a title, ready to open in your browser.
Markdown with page details
Take a complete publishing kit
A ZIP for a manual handoff, with article files, page fields, and next steps. Source and private review notes are excluded. This is separate from a private workspace backup.
Choose your next step (new tab). Extract and inspect the files before sharing. Downloading does not publish.
Article files exclude source notes and review questions. Check the saved file and preview your destination before publishing. Choose the right export (new tab)
How to convert Markdown to HTML
Use this free converter when you have an article in plain text or simple Markdown and your next editor accepts HTML source. It creates an article fragment using your own writing. It does not fetch your links, generate writing, or publish a page.
- Paste or import the article. The body supports up to 60,000 characters. A title is optional unless you include it in the HTML. For UTF-8 Markdown files up to 512 KiB, use Import an article and inspect the staged preview before applying it.
- Read and review. Check the reading preview and compare names, claims, quotations, and uncertainty with your source. Optional draft checks find some writing patterns; they do not fact-check the article.
- Choose title handling. Keep the title separate if your website displays its own. Otherwise choose Include the article title as an H1 heading in HTML source, then review again.
- Copy code or download. Check the review box, then choose Copy HTML source or Download HTML fragment. The visible source is available for manual copying if the clipboard fails.
- Inspect in your destination. Paste into a field that accepts HTML source, or open the downloaded fragment in a text editor to copy its code. Preview the actual result, adjust the destination styling, and publish yourself.
HTML source, formatted copying, or a reading page?
| Choose | What you receive | Use it when |
|---|---|---|
| HTML source | Plain-text HTML code for the article, with an optional title. No document head, metadata, scripts, or WordPress comments. | Your editor accepts HTML code or you are adding article markup to an existing website. |
| Formatted article | HTML and plain text on the clipboard, with an optional title. | You want to paste visible formatting into a rich-text editor. Inspect what the editor retains. |
| Reading page | A complete HTML document with title, viewport settings, local styling, and a restrictive policy. | You want a file to open and read in a browser. It requires an article title. |
What Markdown converts?
This is a limited Markdown subset, rather than a complete CommonMark or GitHub-flavored Markdown implementation.
- Paragraphs and explicit line breaks, headings, nested single-line bold and italic text, inline code, quotations, and fenced code.
- Bullets and numbered lists, including supported single-line nested items. Starting numbers are retained. Continuous groups allow six levels and 200 items, using two or four more spaces at each nested level.
- Simple pipe tables with column headers, alignment, and escaped pipes. Up to 12 columns and 100 data rows, with matching column counts. Fixed inline alignment and wrapping hints make the fragment less dependent on this site's stylesheet.
- Simple inline links with a nonempty label and a safe absolute http:// or https:// address. Link labels can contain emphasis and code; links inside emphasis are also supported. Link availability is not verified. Links open a protected new tab when selected.
Source HTML, images, embeds, unsafe or relative links, malformed tables or lists, and unsupported Markdown stay as literal text. No images or external resources are loaded by conversion. Body H1 headings become H2, reserving H1 for an explicitly included article title. Complex layouts need work in your actual website editor. Themes and editors can change or strip styling.
A small conversion example
This example is fictional. Its HTML is generated by the same converter as the tool above, then shown as inert code.
Markdown input
## A fictional project note
Keep the **observation**.
Check the interpretation.
4. Inspect the article
- Compare facts
+ Keep uncertainty
- Check links
5. Prepare the handoff
7) Paste the blocks
8) Preview the post
| Step | Keep |
| :--- | :--- |
| Observation | What happened |
| Interpretation | What you think it means |
| Next check | What remains uncertain |Article HTML output
<h2>A fictional project note</h2>
<p>Keep the <strong>observation</strong>.<br>Check the interpretation.</p>
<ol start="4"><li>Inspect the article<ul><li>Compare facts<ul><li>Keep uncertainty</li></ul></li><li>Check links</li></ul></li><li>Prepare the handoff<ol start="7"><li>Paste the blocks</li><li>Preview the post</li></ol></li></ol>
<div class="article-table" role="region" aria-label="Article table, scroll horizontally if needed" tabindex="0" style="max-width:100%;overflow-x:auto"><table><thead><tr><th scope="col" class="has-text-align-left" data-align="left" style="text-align:left">Step</th><th scope="col" class="has-text-align-left" data-align="left" style="text-align:left">Keep</th></tr></thead><tbody><tr><td class="has-text-align-left" data-align="left" style="text-align:left">Observation</td><td class="has-text-align-left" data-align="left" style="text-align:left">What happened</td></tr><tr><td class="has-text-align-left" data-align="left" style="text-align:left">Interpretation</td><td class="has-text-align-left" data-align="left" style="text-align:left">What you think it means</td></tr><tr><td class="has-text-align-left" data-align="left" style="text-align:left">Next check</td><td class="has-text-align-left" data-align="left" style="text-align:left">What remains uncertain</td></tr></tbody></table></div>
Common questions
Can I bring formatted writing from Word or Google Docs?
Choose Import formatted writing near the top. Open a plain Word .docx up to 8 MiB, or paste a copied selection into the empty import box and preview it. Common headings, emphasis, safe links, nested lists, code, and header tables can become Markdown. Review the converted article and listed omissions before applying; fonts, layout, and images are not retained. You can also choose a UTF-8 HTML file up to 512 KiB. Normal pasting in the article body remains plain text. Formatted import guide (new tab).
Is this Markdown to HTML converter free?
Yes. The public tool needs no account, payment, provider credential, or API credits. Conversion uses the supported local renderer. It is separate from the private AI pilot.
Does the article need a title or page metadata?
Body-only HTML needs only the article and review approval. Excerpt, description, and filename are optional. Include a title only when your destination needs one in the fragment. Page Markdown and a complete reading page have their own requirements.
Why do I see HTML tags after pasting?
Copy HTML source copies code as plain text. Paste it into an HTML source field, rather than an ordinary writing field. For visible formatting, choose Copy formatted article instead. Destination support varies, so inspect the result before publishing.
Can I use it for WordPress?
For native editable blocks in the WordPress block editor, use the Markdown to WordPress converter. This tool produces article HTML without WordPress block comments.
Where is my draft saved?
The article and checkpoints stay in this tab. There is no autosave, persistent browser draft storage, or upload from the public conversion tool. Explicit copies and downloads go to your device; its own settings can sync them elsewhere. A private workspace backup includes notes and review questions, whereas article HTML excludes them. Data use (new tab).
Can it handle a long draft?
Articles support up to 60,000 UTF-16 characters, with emoji sometimes using two units. Oversized plain-text pastes are rejected in full. UTF-8 imports and workspace backups are separately bounded to 512 KiB. Checkpoints remain limited, so save a private backup to keep important writing beyond this tab.
Draft to Page is in development. Exporting does not verify facts or publish anything. HTML handoff help · About the project.