Skip to content
AI Prompt Markdown Editor

AI Prompt Markdown Editor

Format your AI prompt visually (rich text), import Word (.docx), then convert to clean Markdown you can paste into ChatGPT, Claude, Gemini, or other AI tools.

Rich text editor for prompt structure (headings, lists, links, code) Import prompt from Word (.docx) Convert rich content to clean Markdown (AI-friendly) Copy and download Markdown output Theme switcher for Markdown output Fullscreen editor mode

Reverse: Markdown to Rich Text

Rich Prompt (Visual)

Format like a document (headings, lists, links)

Output Markdown

Copy or download and paste into AI tools

Key Features

  • Rich text editor for prompt structure (headings, lists, links, code)
  • Import prompt from Word (.docx)
  • Convert rich content to clean Markdown (AI-friendly)
  • Copy and download Markdown output
  • Theme switcher for Markdown output
  • Fullscreen editor mode

How to Use

  1. Write your prompt in the rich editor (or import a Word file).
  2. Click Convert to generate Markdown.
  3. Copy or download the Markdown output and paste into ChatGPT or Gemini.

How the prompt editor works

The left pane is a Quill 2 rich text editor with a deliberately small toolbar: headings (levels 2 to 4), bold, italic, underline, numbered and bulleted lists, links, and code blocks. You write the prompt the way you would write a document. When you click Convert, the editor's HTML is passed to Turndown 7.2, which produces Markdown with #-style headings, **bold**, *italic*, and [text](url) links. The Markdown appears in the read-only pane on the right, ready to copy or download as prompt.md.

Import Word reads a .docx file in the browser with Mammoth, which maps Word's built-in styles to HTML. Paragraphs styled as Heading 1, Heading 2, and so on become real headings, so they turn into # and ## lines. Text that is only large and bold stays a normal paragraph. The Source button opens the underlying HTML so you can paste or fix markup directly, then apply it back to the editor.

Worked example: a structured prompt

Open Source, paste this HTML, click Apply Changes, then click Convert. (You would normally build the same thing with the toolbar.)

<h2>Task</h2>
<p>Summarize the customer support ticket below for an engineering handoff.</p>
<h2>Steps</h2>
<ol>
  <li>Identify the product area and the affected plan.</li>
  <li>List the <strong>exact</strong> error messages quoted by the customer.</li>
  <li>Suggest one next step for the on-call engineer.</li>
</ol>
<h3>Output format</h3>
<p>Return a heading called <em>Summary</em>, then the numbered steps. Do not exceed 120 words.</p>
<p>Style guide: <a href="https://example.com/style">internal style guide</a></p>

The Markdown output is:

## Task

Summarize the customer support ticket below for an engineering handoff.

## Steps

1.  Identify the product area and the affected plan.
2.  List the **exact** error messages quoted by the customer.
3.  Suggest one next step for the on-call engineer.

### Output format

Return a heading called *Summary*, then the numbered steps. Do not exceed 120 words.

Style guide: [internal style guide](https://example.com/style)

The stats line shows the size before and after, here 761 bytes of editor HTML down to 427 bytes of Markdown. Paste the result into ChatGPT, Claude, or Gemini and add the ticket text below it.

Structuring a prompt that converts cleanly

  • Give each concern its own heading. Sections such as Task, Context, Constraints, and Output format make it obvious which sentences are instructions and which are background.
  • Use a numbered list only for steps that must happen in order, and plain paragraphs for everything else.
  • Put examples and data in their own section and label them, for example "Example input" and "Example output", so the model does not treat them as instructions.
  • Format with the toolbar, not with typed symbols. Asterisks or pound signs typed as text are escaped (*draft* becomes \*draft\*) so they stay literal.

Current limitations

These are the real results of the current conversion, so check the output before you paste it:

  • Bulleted lists come out numbered. Quill 2 stores both list types in the same element, so a bullet list is exported as 1., 2., and a bullet list directly followed by a numbered list merges into one. Replace the numbers with - where order does not matter.
  • Nested list levels are flattened into a single level.
  • Code blocks are exported as plain paragraphs, one per line, without ``` fences. Add the fences by hand for code or JSON samples.
  • Tables, for example from a Word import, are flattened into one paragraph per cell.
  • Images are removed, and underline, colors, and font sizes have no Markdown equivalent, so they are dropped.
  • Conversion is not live. Click Convert again after each edit. The output pane is read-only.
  • Only .docx files can be imported. Import URL loads a web page's HTML into the editor from your browser, which only works when the site allows cross-origin requests.

When to use a different tool

  • To turn Markdown prompts or AI responses into formatted text for Word or Google Docs, use Markdown to Rich Text. It includes a formatted preview, rich-text copy, and Word or HTML downloads.
  • To convert an existing HTML page or snippet to Markdown without the editor, use HTML to Markdown.
  • To go the other way and render Markdown as HTML, use Markdown to HTML.
  • To write formatted content for a web page rather than a prompt, use the WYSIWYG HTML Editor.

Frequently asked questions

Why should I send a prompt to ChatGPT, Claude, or Gemini as Markdown?

Chat input boxes work with plain text, so pasting from Word or Google Docs can flatten headings and lists into one block. Markdown keeps that structure as plain characters (## for a heading, 1. for a list item) that chat assistants read reliably, which makes it clear where the instructions end and the context begins.

Which Word formatting survives the import?

Paragraphs styled as Heading 1, Heading 2, and so on become Markdown headings. Bold, italic, links, and lists come through, although bulleted lists are currently exported as numbered lists. Text that only looks like a heading because of a large font becomes an ordinary paragraph. Colors, fonts, underline, images, and table layout are not kept in the Markdown.

Can I import a .doc, .odt, or Google Docs file?

Only .docx is supported. In Google Docs use File, Download, Microsoft Word (.docx). In LibreOffice or older Word versions, save as .docx first.

Why are there backslashes in my Markdown?

Characters that have a meaning in Markdown are escaped when you typed them as plain text. For example, *draft* typed literally becomes \*draft\* so it is not read as italics. If you want italics, use the Italic button instead of typing asterisks.

Is my prompt stored or sent anywhere?

The conversion runs in your browser. Your rich text and the last Markdown output are saved in this browser's localStorage so they survive a page reload. They are not uploaded. Click Clear to remove both.

Latest from Our Blog

Tips, tutorials, and insights about web development