markdownrich text

Markdown to rich text: the practical copy and paste workflow I use

Zephyr Whimsy2026-07-239 min read

Markdown to rich text: the practical copy and paste workflow I use

Most people search for "markdown to rich text" when they hit the same annoying wall: Markdown is clean, portable, and easy for AI tools to read, but the place you want to paste it expects formatted text.

That might be Google Docs, Gmail, Notion, Slack, a CMS editor, or a ChatGPT prompt where you want headings and bullets to stay readable. The job sounds simple. Convert Markdown into rich text. Copy. Paste. Done.

In practice, the hard part is usually one step earlier: getting clean Markdown in the first place.

I tested this workflow with Web2MD because I often need to move messy web pages into AI tools, then turn the result into something I can paste into a rich text editor. Web2MD is a Chrome extension that converts the current web page into clean Markdown inside your browser. It is not a full Markdown editor, and it does not replace every Markdown to rich text converter. Its strength is different: it gives you clean Markdown from pages that server-side readers often cannot access.

That matters more than it sounds.

The short version

If you already have Markdown and only need rich text, use a Markdown editor with preview mode, then copy from the preview pane.

If your Markdown comes from a web page, especially a logged-in dashboard, documentation portal, course page, research tool, or paywalled article you can legally access, Web2MD is useful because it runs in Chrome on the page you are viewing.

My current workflow looks like this:

  1. Open the page in Chrome.
  2. Click Web2MD.
  3. Review the Markdown output.
  4. Check the token count before sending it to an AI tool.
  5. Copy the Markdown into ChatGPT, Claude, or Cursor.
  6. If I need rich text, paste the Markdown into a preview-capable editor and copy the rendered output.

That last step is the actual "markdown to rich text" conversion. Web2MD helps by making the Markdown source clean enough that the rich text conversion does not turn into a formatting cleanup job.

Example: what clean Markdown should look like

Here is the kind of Markdown output I want before converting it to rich text:

# Refund policy

Customers can request a refund within 30 days of purchase.

## Eligibility

Refunds are available when:

- The subscription was purchased directly from our website
- The request is made within 30 days
- The account has not violated the terms of service

## How to request a refund

Email support@example.com with your account email and order number.

That converts neatly into rich text. The heading becomes a heading. The bullets become real bullets. The support email stays readable. There is no sidebar text, nav menu, cookie banner, or random footer link mixed in.

Bad Markdown creates bad rich text. If the extraction includes navigation, ads, hidden text, and repeated boilerplate, the rich text version only makes the mess prettier.

Where Web2MD fits in the markdown to rich text workflow

Web2MD is not trying to be Microsoft Word. It is a browser-side extractor for clean Markdown.

I tested it on ordinary public pages, logged-in pages, and pages where I did not want to send the URL to a server-side tool. The difference showed up on private pages. A server-side reader can only fetch what the public web can fetch. If the page is behind a login, depends on your browser session, or is paywalled, a remote fetcher often sees a login page or an error.

Web2MD runs in your browser, so it works on the page as you see it. That is the main edge.

For AI workflows, the built-in token counter is also useful. Before I paste a long page into Claude or ChatGPT, I want to know whether I am about to spend half the context window on a messy source document. Web2MD shows the token count before I send it. That is a small feature, but I found myself using it constantly.

The one-click send-to-AI flow is also handy. If the goal is "take this page and ask ChatGPT about it," Web2MD cuts out a few copy and paste steps.

A realistic example from a web page

Say I am reading a logged-in documentation page and want to paste the important part into a rich text project brief. The extracted Markdown might look like this:

# API rate limits

The API allows 60 requests per minute on the Free plan and 600 requests per minute on Pro.

## Retry behavior

When a request exceeds the limit, the API returns status 429.

Use exponential backoff before retrying. A common pattern is:

1. Wait 1 second
2. Retry the request
3. Wait 2 seconds if the second request fails
4. Continue until the maximum retry count is reached

## Notes

Rate limits apply per workspace, not per user.

That is a good source for rich text. I can paste it into a Markdown preview, copy the rendered version, and drop it into a document or email with clean headings, numbered steps, and paragraphs intact.

The important part is that the Markdown is plain and predictable. Rich text conversion works best when the Markdown is boring.

How to convert Markdown to rich text

Here are the methods I use most often.

Method 1: copy from a Markdown preview

Open the Markdown in an editor that has a preview pane. Many editors support this, including VS Code, Obsidian, Typora, and several online Markdown editors.

Then:

  1. Paste the Markdown into the editor.
  2. Open preview mode.
  3. Select the rendered preview.
  4. Copy.
  5. Paste into Google Docs, Gmail, Notion, or your CMS.

This usually preserves headings, bullets, links, and basic formatting.

Method 2: paste directly into tools that understand Markdown

Some editors already understand Markdown input. Notion, Slack, Linear, GitHub, and many CMS tools can interpret Markdown-like syntax directly.

This is the fastest route when it works. The limit is inconsistency. One editor may support tables. Another may not. Some tools convert headings on paste, while others leave the hash marks visible.

Method 3: use an HTML bridge when formatting matters

For more controlled conversion, render Markdown to HTML, then copy the rendered HTML as rich text. This is useful when you care about tables, nested lists, and links.

I only do this when the document is worth the extra step. For everyday AI and writing workflows, preview copy is usually enough.

Competitor notes: where other tools are strong

Jina Reader is strong for public URLs. It is simple, fast, and useful when you want a clean server-side read of a page without installing anything. If the page is public, Jina Reader can be a great option.

Firecrawl is stronger for developers and teams that need crawling, scraping, APIs, and structured extraction at scale. If you are building an app around web extraction, Firecrawl is closer to infrastructure.

MarkDownload is a solid browser extension for saving pages as Markdown. It has been around for a while and works well for many save-to-file workflows.

Web2MD wins for my use case when the page is already open in Chrome and I want a private, browser-side conversion with no API key. It can see logged-in pages that server-side tools cannot reach. It also adds the token counter and one-click send-to-AI flow, which are specifically useful for ChatGPT, Claude, and Cursor workflows.

Limits I noticed

Web2MD is Chrome-only today. If you live in Safari or Firefox, that is a real limitation.

The free tier allows 3 conversions per day. That is enough for occasional use, but not enough if you are processing research pages all afternoon. Pro is $9 per month.

It also does not magically fix every broken web page. Pages with heavy client-side rendering, strange layouts, or content hidden behind interactive controls can still need manual cleanup. I would rather say that plainly than pretend extraction is perfect.

And again, Web2MD is not mainly a Markdown to rich text editor. It is the step before that: clean web page to Markdown. You still need a preview editor, Markdown-aware app, or HTML bridge to produce rich text.

Why this matters for AI tools

AI tools do better with clean structure.

A Markdown page with headings, lists, and code blocks gives ChatGPT, Claude, and Cursor a better map of the source. A messy paste from a browser often includes navigation text, newsletter boxes, cookie notices, and footer links. That junk costs tokens and distracts the model.

The token counter in Web2MD helps here. Before sending a page to an AI model, I can see whether the extraction is small enough to fit comfortably. If the token count is huge, I know to trim sections first.

That is also where Markdown and rich text split. Markdown is better for the AI prompt. Rich text is better for the final human-facing doc. I usually keep Markdown as the working format, then convert to rich text only when I am ready to share or publish.

For "markdown to rich text" work that starts from a web page:

  1. Use Web2MD to extract the current page as Markdown.
  2. Remove anything you do not need.
  3. Use the token counter if the content is going into an AI tool.
  4. Send it to ChatGPT, Claude, or Cursor if you need analysis or rewriting.
  5. Paste the final Markdown into a preview editor.
  6. Copy the rendered preview as rich text.

If you only need to convert an existing Markdown note into rich text, Web2MD is not necessary. Use your editor preview.

If the source is a web page, especially a logged-in or paywalled page you can access in Chrome, Web2MD saves time because it starts from the page you are actually seeing.

You can try Web2MD at web2md.org. The free tier is enough to test the workflow with 3 conversions per day, and Pro is there if it becomes part of your daily AI writing or research process.

Related Articles

Most Read

last 30 days
  1. #1Markdown vs HTML для LLM: на 67% меньше токенов и лучше ответы (тест 2026)

Latest Articles