Markdown Editor & Preview
Write Markdown with live preview; copy HTML or download .md and .html files
Runs entirely in your browser. Nothing you type or upload is sent to us or stored.
Results are for general guidance. Please check anything important before relying on it. Terms of use
How to Use
- Type or paste Markdown in the Markdown box, or tap Open .md file to load a README or notes file from your device. A sample document is already there so you can see how things look.
- The Preview updates as you type. On a phone it sits below the editor; on a wider screen the two are side by side.
- Use the toolbar buttons for bold, italic, headings, links, lists, task lists, quotes, code and tables. Select some text first to format it. On a computer, Ctrl+B, Ctrl+I and Ctrl+K add bold, italic and a link.
- See the Words, Characters, Lines and Reading time counters below the editor.
- Tap Copy HTML to paste the formatted result into a website or CMS. You can also download it as a .md file or a ready-to-open .html page.
What is Markdown?
Markdown is a way to format text with ordinary characters: **bold**, # Heading, - list item. John Gruber created it in 2004 so that a plain text file stays easy to read and still converts cleanly to HTML. It's now the standard for README files on GitHub and GitLab, documentation sites, note apps such as Obsidian and Notion, forums and many blogs. This Markdown preview editor shows the formatted result as you type.
It follows GitHub Flavored Markdown (GFM), which adds tables, task lists, strikethrough (~~text~~) and automatic links to the original syntax. The preview is very close to how GitHub will show your README.
Markdown cheat sheet
| You type | You get |
|---|---|
# Title, ## Section, ### Sub-section | Headings, level 1 to 3 (up to 6 #) |
**bold**, *italic*, ~~strike~~ | bold, italic, |
[DailyTools](https://dailytools.in) | A link |
 | An image |
- item or 1. item | Bulleted or numbered list (indent 2 spaces to nest) |
- [ ] task, - [x] done | Task list with checkboxes |
> quote | Block quote |
`code` and lines fenced with ``` | Inline code and code blocks |
--- on its own line | Horizontal rule |
Tables
Separate cells with | and put a row of dashes under the header. Colons in the dash row set the alignment: :--- left, ---: right, :---: centre. Right-aligning number columns makes prices easy to compare:
|---------|----------------:|
| Basic | 199 |
| Team | 999 |
The pipes don't need to line up; the spacing above is only for readability. To show a literal pipe inside a cell, write \|.
Word count and reading time
The counters ignore Markdown symbols, so ## **Hello** world counts as two words, and a link counts only its visible text, not the URL. Reading time assumes about 200 words per minute, a common estimate for an adult reading on screen. Hindi, Gujarati and other Indian scripts are counted correctly because words are split on spaces, not on English letters.
Copying and downloading
- Copy HTML gives you the formatted body, ready to paste into a CMS, an email template or a web page.
- Download .html saves a complete page with plain styling. It opens in any browser and prints neatly to PDF.
- Download .md saves your Markdown source. The file is named after your first heading.
Safety and privacy
Markdown allows raw HTML, which could include scripts. Before anything is shown, the preview is cleaned with DOMPurify, a widely used HTML sanitiser, so scripts and event handlers such as onclick are removed. Links in the preview open in a new tab, so clicking one won't lose your draft. Your text is processed only in your browser and isn't uploaded. It isn't saved either, so download or copy your work before you close the tab.
Tips
- Leave a blank line between paragraphs, and before and after lists, tables and code blocks.
- A single line break inside a paragraph is ignored. End a line with two spaces, or leave a blank line, to start a new line.
- Add a language after the opening fence (
```js,```python) so GitHub can colour your code. - WhatsApp formatting looks similar but is different: it uses
*bold*with single asterisks and_italic_.