Rich Text to Markdown Converter

Convert WYSIWYG editor HTML to clean Markdown — supports 6 editors

← Back to Conversion Tools
Generic

Rich Text HTML Input

Paste raw HTML from your WYSIWYG editor's source view

Markdown Output 0 chars

Why Migrate from WYSIWYG to Markdown?

Rich text editors produce HTML filled with editor-specific markup — proprietary classes, data attributes, inline styles, and wrapper elements. This HTML is tied to a specific editor and CMS. Markdown is the opposite: a plain-text format that's portable across any platform, readable in raw form, and works perfectly with version control (Git diffs are clean and meaningful).

Developers and content teams migrate to Markdown for three reasons: portability (move content between platforms without reformatting), developer experience (write docs alongside code in the same editor), and future-proofing (Markdown from 2004 still renders perfectly today; HTML tied to a 2018 editor may not).

WYSIWYG Editors Comparison

EditorUsed ByHTML QuirksMigration Difficulty
TinyMCEWordPress Classic, Joomla, Drupalmce-* classes, data-mce-* attributes, wraps content in <p>Easy
CKEditor 4/5Drupal, Magento, custom appscke_* classes, <figure> image wrapper, <oembed> embedsEasy–Moderate
QuillModern web apps, Notion-style editorsql-* classes, .ql-indent-N, .ql-align-*, nested <span> for formattingModerate
WordPress GutenbergWordPress 5.0+<!-- wp:paragraph --> comments, wp-block-* classes, has-* utility classesModerate
UEditor (Baidu)Chinese CMS, enterprise appslist-paddingleft-* classes, _src custom attributes, style tag strippingEasy

Migration Guide: 4 Steps from Rich Text to Markdown

Step 1 — Export. Extract the HTML content from your current CMS or editor. For WordPress, use the native export tool. For custom apps, query the database directly. Save the raw HTML files — don't modify anything yet.

Step 2 — Select & Convert. Choose your editor from the dropdown above to enable editor-specific cleanup rules. Paste each article's HTML and copy the Markdown output. The converter strips mce-*, cke_*, ql-*, wp-block-* classes automatically.

Step 3 — Validate. Spot-check the converted Markdown. Images should use ![alt](url) syntax. Lists should have consistent indentation. Code blocks should use fenced ``` delimiters. Tables should render correctly in your Markdown preview.

Step 4 — Import. Drop the .md files into your static site generator (Hugo, Jekyll, Astro, Next.js, VitePress). Add frontmatter at the top of each file for title, date, and tags.

When Not to Convert

Markdown isn't always the right choice. If your content relies on complex table layouts (colspan/rowspan), custom HTML embeds, or precise inline styling, the conversion will lose fidelity. For these cases, keep the HTML and use a CMS that renders raw HTML alongside Markdown — most static site generators support both.

Frequently Asked Questions

How do I convert rich text from a WYSIWYG editor to Markdown?

Select your editor type from the dropdown, switch to your editor's Source/HTML view, copy the raw HTML, and paste it here. The converter strips editor-specific markup (TinyMCE's mce-*, CKEditor's cke_*, Quill's ql-*, WordPress block comments, UEditor padding classes) and outputs clean Markdown.

Which WYSIWYG editors are supported?

TinyMCE, CKEditor 4/5, Quill, WordPress Block Editor (Gutenberg) and Classic Editor, UEditor (Baidu), and generic/unknown HTML. Each has tailored cleanup rules. If your editor isn't listed, "Generic HTML" still produces good results with standard Turndown.js conversion.

Can I migrate my WordPress blog posts to Markdown?

Yes. Select "WordPress" from the editor dropdown. The converter strips <!-- wp:... --> block comments, wp-block-* classes, and inline styles from both Gutenberg and Classic Editor output. The resulting Markdown works directly with Hugo, Jekyll, Astro, and other static site generators.

Why do I see leftover CSS classes in the output?

Make sure you've selected the correct editor from the dropdown. Each editor has specific cleanup rules. If you select "Generic HTML," no editor-specific cleanup is applied. Switch to your actual editor and the converter will strip its proprietary markup.

Is this better than Pandoc for WYSIWYG conversion?

Pandoc is a powerful command-line tool but has no knowledge of editor-specific markup — it can't strip TinyMCE's mce-item classes or Quill's ql-indent attributes. This tool adds editor-aware preprocessing before the HTML-to-Markdown conversion, and it runs in your browser with zero setup.

What happens to images and embedded media?

Images convert to ![alt](url) syntax, preserving the original src and alt attributes. Embedded media (oEmbed, iframes) is converted to a Markdown link pointing to the media URL. You may need to manually replace temporary or CDN URLs with your final image paths after migration.