Markdown Viewer

Paste the Markdown from a README or a note and see how it looks. Copy the formatted text into an email or a document. Your text is never sent to a server.

Updated How it works

Your text is not sent to a server0 KB / 1 MB

Formatted text

Paste Markdown and the formatted text appears here. If you are new to Markdown, press “Insert example”

How to use

  1. Paste your Markdown into the Markdown box (on the left on a computer, at the top on a phone). If you are new to Markdown, press Insert example to see what it can do.
  2. When you type, the result appears 0.5 seconds after you stop. When you paste or insert the example, it appears right away.
  3. Press Expand above the result to see only the formatted text, filling the screen. Long text scrolls. The Close button, the Esc key and the back button on a phone all close the expanded view and keep you on the page.
  4. Take the result with you with Copy formatted text, Copy HTML or Print.

Markdown is a way to format text with plain symbols such as #, ** and - for headings, bold text and lists. GitHub READMEs and issues, wikis, note-taking apps and many blogs turn Markdown into formatted text. While you write, you only see the symbols, so it is hard to tell how the text will look before you publish it. This tool is the preview in between. Your text is not sent to a server.

Markdown cheat sheet

Write what is in the middle column, and you get what is in the right column.

What you wantHow to write itResult
Headings# Title, ## Section, ### SubsectionThe more #, the smaller the heading
Bold**bold**bold
Italic*italic*italic
Strikethrough~~deleted~~deleted
Lists- apples, or 1. first for a numbered listBulleted list, numbered list
Links[toolbox home](https://toolbox24.net/en/)A link that opens in a new tab
Images![description](https://example.com/image.png)A placeholder until you allow external images
TablesSee “GitHub-style tables” belowA table with rows and columns
Task lists- [x] done, - [ ] to doCheckboxes that cannot be clicked
Code`code` inline, or a block between lines of ```Monospaced font, scrolls sideways if long
Quotes> quoted textIndented quote with a line on the left

Code blocks are shown in a monospaced font without syntax highlighting. A ```mermaid block is shown as code, not as a diagram. Headings do not get id anchors, so links within the page such as [jump](#heading) stay plain text.

GitHub-style tables

Write the column names on the first line, --- on the second line and the rows below. Separate the cells with |. Colons on the second line set the alignment.

| Metric | Last month | This month |
|---|---:|---:|
| Visits | 1,200 | 1,450 |
| Questions | 12 | 9 |

---: aligns right, :--- aligns left and :---: centers. Numbers are easier to compare when they are right-aligned. A table that is wider than the screen scrolls sideways on its own.

How it works

  • The text is rendered on your device. The Markdown converter (marked) and the HTML cleaner (DOMPurify) are downloaded from this site and run in your browser. Nothing is loaded from other sites.
  • The tools load after the page. They start downloading once the page has loaded, before you paste anything. If you paste while they are still downloading, you see “Loading the renderer…” and the result appears as soon as they are ready.
  • HTML in your text is cleaned. <script>, event attributes such as onclick, <iframe>, style attributes and javascript: links are removed. This stops pasted text from breaking the page or quietly sending requests.
  • Links open in a new tab. Only http, https and mailto addresses become links. They open in a new tab without giving that page access to this one (rel="noopener noreferrer"). Any other address stays plain text.
  • Text over 100 KB is not redrawn automatically. When you edit it, the old result stays dimmed until you press Redraw. This keeps the page responsive while you type in a long document.
  • Up to 1 MB. Longer text is not rendered, and you see “You can paste up to 1 MB” instead. Your text stays in the box.
  • Nothing is saved. Your text is not stored on your device or put in the address bar. There is no share link. If your text is still there after you reload the page, your browser restored the text box.
  • A single line break does not start a new line. As on GitHub, an empty line separates paragraphs. Lines with only a line break between them join into one paragraph.

Why external images are not loaded right away

![description](https://...) in Markdown means “show the image at this address here”. To show it, your browser has to ask the server at that address for the image. At that moment, the server learns your IP address (which can reveal roughly where you are), your browser type and the time. A value at the end of the image address, such as ?id=..., can also tell it which document you opened.

This matters when you paste text someone else wrote. A tiny, invisible image hidden in the text can report to its owner that you opened it. Email newsletters use this “tracking pixel” all the time.

So this tool does not load images whose address starts with http://, https:// or // at first. In their place it shows a gray box with the alt text and the name of the server the image is on, for example “toolbox24.net”. At the top of the result, a notice says how many external images were not loaded, with a Load external images button. If you trust the text, press it to see the images.

  • Pressing it loads the external images that are there now and any you add to the text afterwards.
  • The permission lasts until you leave the page, reload it or press Clear. It is not saved. If you press Undo after Clear, your text comes back but the permission does not, and images are blocked again.
  • An image that fails to load shows a “Couldn’t load the image” box instead of a broken image icon.
  • Images embedded in the text as data (data:image/...) have no outside server, so they show right away. Images with a relative address (img/a.png) point to a file outside this text, so they show “This image is outside this text and can’t be shown”.

Copying formatted text into email and documents

Copy formatted text puts the result on your clipboard with its formatting. Paste it into an email or a document editor such as Gmail, Outlook, Google Docs or Word, and headings stay headings, bold stays bold and tables stay tables, without the Markdown symbols. Apps that do not accept formatting get the plain text without symbols.

Copy HTML copies the cleaned HTML code. Use it where you paste code, such as the HTML view of a blog editor or a web page.

Both buttons work before you allow external images. In that case, external images are copied with their original addresses. This page did not load them, but the app you paste into may.

Printing and saving as PDF

Print opens your browser’s print dialog and prints only the formatted text. The site header, the text box, ads and this article are left out. If you have not allowed external images, gray boxes are printed in their place.

To save a PDF, choose “Save as PDF” (Chrome, Edge and other Chromium browsers) or “PDF” in the print dialog (Safari on a Mac) as the printer. This is a browser feature, so the name can differ by browser.

Example

Press Insert example to fill in this text:

# Meeting notes

**Date**: 2026-11-11 · *Attendees*: 3 · ~~Cancelled item~~

## Decisions
- [x] Scope of the next release
- [ ] Launch date

## Numbers
| Metric | Last month | This month |
|---|---:|---:|
| Visits | 1,200 | 1,450 |
| Questions | 12 | 9 |

> Please share your materials before the next meeting.

1. First
2. Second

`Inline code` and a code block:

```js
console.log('Hello');
```

[toolbox home](https://toolbox24.net/en/)

![toolbox share image](https://toolbox24.net/og.png)

The result shows “Meeting notes” as the largest heading, “Date” in bold and “Attendees” in italic, a struck-through item, one checked box and one empty box, a table with the numbers aligned right, a quote, a numbered list and a code block in a monospaced font. The image at the end is on this site, but its address is external, so at first it shows as a gray box labeled “toolbox share image”. Press Load external images and the image appears.

Edge cases

  • Lines join into one. As described above, you need an empty line to start a new paragraph. To break a line without starting a paragraph, end it with two spaces or a \.
  • HTML tags disappear. Tags that can call outside addresses or change the page, such as <style>, <iframe>, <video> and <form>, and style attributes are removed. Text that shows them on GitHub may not show them here.
  • A link is plain text. Links that start with javascript: or data:, and links within the page (#…), stay as text you cannot click.
  • An image does not appear. If its address starts with http or https, press Load external images. If it still does not appear, the image server blocked the request or the address is wrong. Images with a relative address cannot be shown in this tool.
  • Very long text. Above 100 KB, the result is drawn only when you press Redraw. Above 1 MB, nothing is drawn until you shorten the text.
  • Offline. If the renderer has not loaded yet, press Try again. Once it has loaded, rendering works without an internet connection.
  • Small differences from GitHub. This tool supports GitHub-style tables, task lists, strikethrough and automatic links. It does not support GitHub’s @mentions, issue number links, math or syntax highlighting.

Frequently asked questions

Is my Markdown sent to a server?

No. The text is formatted in your browser and not saved anywhere. Nothing is left after you close the page. If you load external images, though, the servers those images are on learn your connection details.

Is it safe to paste Markdown someone sent me?

Scripts and tags that send hidden requests are removed, and external images are not loaded until you press the button, so simply opening the text does not tell the sender you read it. Clicking a link is still your choice, so be careful with addresses you do not recognize.

Copy formatted text does not work.

If your browser blocks clipboard access, you see “Couldn’t copy”. Check the site permissions next to the address bar, or try Copy HTML.

Can I download a PDF directly?

There is no download button. Use Print and choose to save as PDF in the print dialog. Only the formatted text is printed, so you get the same result.

Does it draw Mermaid diagrams?

No. ```mermaid blocks are shown as code here. To see Mermaid code as a diagram, use the Mermaid Viewer.

How it works

Markdown is converted to HTML with marked (GitHub-style tables, task lists, strikethrough and automatic links), then cleaned with DOMPurify before it is shown. Both libraries are served by this site, run in your browser and load only after the page has loaded. Scripts, event attributes, iframes and style attributes are removed. External images are not requested until you press Load external images, and your text is not saved anywhere.

Last checked

Found a calculation mistake? Let us know.