Skip to content
Free tool

Online Markdown Editor with live preview

Write Markdown in this online Markdown Editor and see a live preview alongside it. Open .md files, turn copied Excel cells into a table, save the document as a PDF or copy it as HTML. A separate mode for Discord messages includes spoilers and a character counter. Free, with no sign-up required; your text stays in your browser.

Built by Dimitri Heissler

Building something of your own? Host it on a VPS with full control.

GitHub Flavored Markdown: headings, lists, tables, task lists, and code with syntax highlighting. Suitable for README files, issues, and documentation.

Your text stays in this browser. It is saved locally as a draft and never uploaded. Ctrl+Z undoes changes.

Words
65
Characters
474
Lines
28
Headings
3
Reading time
1 min.

Example result

What this Markdown Editor shows you

Write Markdown and instantly see the rendered result beside it. You also get HTML code to copy, word and character counts, estimated reading time, and, in Discord mode, the remaining characters before the limit. Three examples:

Example 1: A short README

Input (README / GitHub):

# My server

Runs on **8 GB RAM** with `Paper 1.21`.

- [x] Backup
- [ ] Whitelist

Preview:

My server

Runs on 8 GB RAM with Paper 1.21.

  • Backup
  • Whitelist

HTML code to copy:

<h1 id="my-server">My server</h1>
<p>Runs on <strong>8 GB RAM</strong> with <code>Paper 1.21</code>.</p>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" checked disabled> Backup</li>
<li class="task-list-item"><input type="checkbox" disabled> Whitelist</li>
</ul>

In words: 1 heading becomes an h1, the two highlighted parts become strong and code, and the two list items become a task list with one checked and one unchecked box. The text has 12 words and 82 characters, with a reading time of 1 minute.

Example 2: A table

Input (README / GitHub):

| Plan | RAM in GB |
| --- | ---: |
| Basic | 4 |
| Pro | 8 |

Preview:

PlanRAM in GB
Basic4
Pro8

HTML code to copy:

<table>
<thead>
<tr>
<th>Plan</th>
<th align="right">RAM in GB</th>
</tr>
</thead>
<tbody>
<tr>
<td>Basic</td>
<td align="right">4</td>
</tr>
<tr>
<td>Pro</td>
<td align="right">8</td>
</tr>
</tbody>
</table>

In words: The table has two columns and two data rows. The row of dashes separates the header from the content, and the colon in “---:” right-aligns the second column.

Example 3: A Discord message

Input (Discord):

# Event today
**8 PM** in the ||voice channel||
-# Registration open

Preview as in Discord:

Event today

8 PM in the Spoiler, click to reveal

Registration open

In words: The line with # becomes a large heading, **20 Uhr** appears in bold, the text between || is a spoiler that becomes visible only when clicked, and the line with -# becomes small and gray. The message uses 68 of the 2,000 allowed characters.

How it works

How to write Markdown online with a live preview

Four steps from an empty text field to a finished document or Discord message, with no account or installation.

Step 1

Choose variant

Select “README / GitHub” at the top for documents with tables and task lists, or “Discord” for chat messages with spoilers and quotes. Each option has its own text and tips.

Step 2

Write or open a file

Type your text, use the buttons for bold, lists, tables, and code, or the shortcuts Ctrl+B, Ctrl+I, and Ctrl+K. To add cells from Excel, paste them, select them, and click “Table.” Use “Open file” to load an existing .md file; it stays in your browser.

Step 3

Check preview

On the right—or in the “Preview” tab on mobile—you can see the result as you type. With more than 100,000 characters, the preview in “README / GitHub” mode only appears after you click “Show preview anyway”, again after every change. In Discord mode, the editor shows the message in Discord style and warns about tables, images and overly long text.

Step 4

Apply result

Copy the Markdown or finished HTML code, download the document as an .md or .html file, or choose “Save as PDF” and then “Save as PDF” in the print dialog. For Discord, copy the message and paste it into the chat.

Markdown Viewer

Markdown Viewer: Open and Read .md Files, Save as PDF

You don't need another program to read a .md file. The editor opens it in your browser, displays it in formatted form and lets you export it as PDF or HTML.

Open MD files without installing anything

Click “Open file” and select a .md, .markdown, .mdown or .txt file up to 2 MB. Your browser reads it locally; nothing is uploaded. In “README / GitHub” mode, the preview displays headings, tables, task lists and code with syntax highlighting.

Convert Markdown to PDF

“Save as PDF” opens your browser’s print dialog with the formatted document. Select “Save as PDF” as the destination. The PDF is created on your device, and the editor takes the document title from the first heading.

Convert Markdown to HTML

“Copy HTML” puts the HTML code on your clipboard; “Download .html” saves a complete page with basic styling. Like the PDF export, both are available in “README / GitHub” mode.

Basics

What is Markdown? A simple explanation

Markdown is a simple way to format text using a few characters. You write plain text, and a program turns it into headings, lists, tables, and links.

What it looks like

A # at the start of a line creates a heading, **bold** makes text bold, a hyphen at the start of a line creates a list item, and square brackets followed by parentheses create a link. The text remains readable without special software.

What it's used for

For README.md files on GitHub, technical documentation, notes, forum posts, and chat messages, such as in Discord. The file extension is .md or .markdown.

How to try it

Type in the text field above to see an instant preview. Use “Open file” to read an existing .md file, or share the result with “Save as PDF” or “Copy HTML”.

Markdown table

Create a Markdown table: syntax, alignment, and Excel import

A table consists of a header row, a separator row, and data rows, with vertical bars between the columns. You can write one by hand or have the editor build it from copied cells.

Structure

Input:

| Plan | RAM in GB |
| --- | ---: |
| Basic | 4 |
| Pro | 8 |

Preview:

PlanRAM in GB
Basic4
Pro8

Align columns

A colon in the separator line sets the alignment: left, center, or right.

| Left-aligned | Centered | Right-aligned |
| :--- | :---: | ---: |
| a | b | c |

Preview:

Left-alignedCenteredRight-aligned
abc

From Excel or Google Sheets

Copy the cells, paste them, select them, and click “Table.” From the copied text:

Plan	RAM in GB
Basic	4
Pro	8

becomes this Markdown table, with the number column right-aligned:

| Plan | RAM in GB |
| --- | ---: |
| Basic | 4 |
| Pro | 8 |

Markdown Cheat Sheet

Markdown syntax at a glance

The main elements of GitHub Flavored Markdown, with input and output. The right column uses the same renderer as the editor preview.

Markdown syntax and results
ElementMarkdownResult
Headings
# Heading 1
## Heading 2
### Heading 3

Heading 1

Heading 2

Heading 3

Bold and italic
**bold**, *italic*, ***both***

bold, italic, both

Strikethrough
~~old~~ new

old new

Link
[Link text](https://example.com)
Image
![Image description](https://example.com/bild.png)
Displays the image; the description serves as alt text.
List
- One
- Two
  - Two A
  • One
  • Two
    • Two A
Numbered list
1. First
2. Second
  1. First
  2. Second
Task list
- [x] done
- [ ] open
  • done
  • open
Quote
> A quote

A quote

Code in a sentence
Start `npm run dev`

Start npm run dev

Code block
```js
console.log(1 + 1);
```
console.log(1 + 1);
Table
| Name | Value |
| --- | ---: |
| RAM | 8 |
NameValue
RAM8
Divider
---

Discord Markdown

Format Discord text: essential commands

Discord uses its own, smaller version of Markdown. Switch to “Discord” above to see how your message will appear in chat before sending it.

Discord formatting and result
ElementInputResult in Discord
Bold
**bold**

bold

Italic
*italic* or _italic_

italic or italic

Underlined
__underlined__

underlined

Strikethrough
~~Strikethrough~~

Strikethrough

Combined
__***underlined, bold, and italic***__

underlined, bold, and italic

Spoiler
||Hidden text||

Spoiler, click to reveal

Code in a sentence
`Code`

Code

Code block
```js
console.log('hi');
```
console.log('hi');
Quote
> A quote

A quote

Headings
# Large
## Medium
### Small

Large

Medium

Small

Small text
-# Footer

Footer

List
- One
- Two
1. First
  • One
  • Two
  1. First
Link with text
[Link text](https://example.com)

Comparison

GitHub Markdown vs. Discord Markdown

Text that looks good in a README may not display properly in Discord chat. This table shows what works where.

Which Markdown features work on GitHub and Discord
FunctionREADME / GitHubDiscordNote
HeadingsYesPartialGitHub: # through ######. Discord: only # through ### at the start of a line.
Bold, italic, strikethroughYesYesSame spelling in both.
Underlined (__text__)NoYesOn GitHub, __text__ means bold.
Spoiler (||text||)NoYesDiscord only.
TablesYesNoDiscord displays the dashes as text.
Task lists (- [ ])YesNoDiscord displays the square brackets as text.
Images (![](url))YesNoOn Discord, upload images or post the link.
Code blocks with languageYesYesBoth apply language-specific syntax highlighting to the code.
HTML in textPartialNoGitHub renders some tags; Discord renders none.
Quotes (> text)YesYesDiscord also supports >>> for everything up to the end.

Discover more

More tools

FAQ

Frequently asked questions

Quick answers about .md files, PDF and HTML, tables from Excel, Discord formatting and your privacy.

Markdown is a simple way to format text using ordinary characters: # creates a heading, **bold** makes text bold, and a hyphen at the start of a line creates a list item. John Gruber published it in 2004. Markdown files usually have the .md extension, or less commonly .markdown. You'll find them as README files on GitHub, in documentation and notes; Discord also uses Markdown for chat messages. The advantage is that the plain text remains readable without formatting.

Click “Open file” in the editor and select a .md, .markdown, .mdown or .txt file up to 2 MB, or paste its contents into the text field. In “README / GitHub” mode, the preview immediately displays it with formatting, including tables, task lists and highlighted code. With more than 100,000 characters, it only appears after you click “Show preview anyway”. You don't need to install anything, and the file is not uploaded: your browser reads it locally. You can then edit the text and download it as a .md file again.

In “README / GitHub” mode, click “Save as PDF”. The editor opens your browser's print dialog with the formatted document. Select “Save as PDF” as the destination and confirm. The PDF is created on your device; nothing is uploaded. The editor takes the document title from the first heading. Set margins and headers in the print dialog.

A table has a header row with vertical bars, a separator row with three hyphens per column and data rows. For example: | Name | RAM |, followed by | --- | ---: | and then | Pro | 8 |. A colon in the separator row sets the alignment. There's a faster way with Excel or Google Sheets: copy the cells, paste them into the text field, select the pasted text and click “Table”. The first row becomes the header, and columns containing only numbers are right-aligned. CSV rows separated by semicolons or commas also work, but the button cannot parse quoted CSV fields that contain the delimiter. Tables are part of GitHub Flavored Markdown and do not work in Discord.

In “README / GitHub” mode, “Copy HTML” copies the finished HTML code; for example, **bold** becomes <strong>bold</strong>. “Download .html” saves a complete page with basic styling. For security, the editor does not render HTML tags you write in the Markdown; it displays them as text. The editor cannot export Word or .docx files. For Word, download the .html file and open it there, or save the document as a PDF.

Switch to “Discord” at the top. Discord syntax then applies: **bold**, *italic*, __underlined__, ~~strikethrough~~, ||Spoiler|| and `Code`. # through ### at the start of a line create headings, -# makes a line small and gray, and > quotes a line. The preview shows the message as it would appear in chat, and the counter checks it against the 2,000-character limit, or 4,000 with Nitro. Discord does not support tables, images, horizontal rules or HTML, and the editor alerts you to this. Use “Copy message” to copy the text.

A blank line separates paragraphs. In a README, a single line break in the text is treated like a space, so the text continues. For a hard line break, add two spaces or a backslash at the end of the line. Discord is simpler: every line break you insert with Shift+Enter is preserved.

Nothing is uploaded: preview, HTML export, PDF and opening files all run locally in your browser. To keep your work after a reload, the editor saves a draft in your browser's local storage. “Clear” empties the text field for the current mode and also clears its saved draft. The preview displays HTML in your text rather than executing it, and removes links with unsafe schemes such as javascript:.

Any more questions?

Contact Support
Building something of your own?

Your project needs a server it can run on reliably

A ZAP-Hosting VPS gets your application, bot, or documentation online reliably.

4.4/5 Trustpilot32,000+ Active serversSince 2010

No setup. No risk. Online in seconds.

Flexible TermCancel anytimeOnline in 60 seconds

Looking for more tools? View all developer tools