Markdown, kept readable

Markdown cheat sheet and formatting guide.

A practical guide to the text, page settings and portable routes PasteMode publishes — with the real renderer used for every result below.

Open editor

CommonMark + GFM + safe extensions · raw HTML disabled · private by default

Start here

Quick start

The small set of patterns that carries most useful writing.

Headings and paragraphs

Set the page title in Page Settings. Use sections here; published body headings move down one level.

Write
## A useful section

A paragraph with one clear idea.

### Supporting detail
Result

A useful section #

A paragraph with one clear idea.

Supporting detail #

Emphasis, strike and links

Emphasise sparingly and give every link a meaningful label.

Write
**Strong**, _quiet emphasis_ and ~~removed~~.

[A useful source](https://example.com "Source title")
Result

Strong, quiet emphasis and removed.

A useful source

Shape the page

Structure

Lists, tasks, quotations and dividers stay readable as plain text.

Nested lists and tasks

Indent nested items consistently. Task boxes remain readable in raw Markdown.

Write
- One clear point
  - Supporting detail
- Another point

1. First step
2. Second step

- [ ] Draft
- [x] Reviewed
Result
  • One clear point
    • Supporting detail
  • Another point
  1. First step
  2. Second step
  • Draft
  • Reviewed

Quotes, rules and comments

Reference definitions can hold private author notes without appearing in the page.

Write
> Write the page you would want to receive.

---

[//]: # (This author note is not rendered.)
Result

Write the page you would want to receive.


PasteMode extensions

Rich text, without HTML

A small, safe syntax layer adds highlights, spoilers, color, callouts, alignment and a generated table of contents.

Highlight, underline and spoilers

Reveal a spoiler with its checkbox: click, tap or press Space. Hidden text is also hidden from screen readers until revealed.

Write
==Highlighted text==

!~Underlined text~!

!>A keyboard-accessible spoiler
Result

Highlighted text

Underlined text

A keyboard-accessible spoiler

Named and hex text colors

Use CSS color names or three/six-digit hex. A page may use up to 64 distinct hex colors.

Write
%red% **Important** %% · %purple% Creative %% · %pink% Warm %%

%#ACBDEF% Custom hex %% · !~green;double; Underline options ~!
Result

Important · Creative · Warm

Custom hex · Underline options

Callouts

Use GitHub alerts or !!! with info, note, warning, danger or greentext. Indent continued blocks by four spaces; body Markdown stays intact.

Write
> [!NOTE]
> Keep **context** close.

!!! greentext A useful detail
    This note keeps its _emphasis_.
Result

Contents and alignment

A contents list appears with at least three eligible headings and follows their hierarchy. Alignment preserves emphasis, links and allowed images.

Write
[TOC2]

## First section

-> A centered note <-

### One detail

### Another detail

-> Signed on the right ->
Result

First section #

A centered note

One detail #

Another detail #

Signed on the right

Technical writing

Code and data

Fenced code uses its language label for syntax highlighting; GFM tables support alignment.

Inline and fenced code

Name the language after the opening fence. Add {numbers} for line numbers up to 2,000 lines; longer blocks stay unnumbered. Copy keeps only the source. Preview colors common languages; publication adds colors for less common ones. Unknown names stay readable as text.

Write
Run `npm run check`, then inspect the result.

```js {numbers}
const page = { readable: true };
```
Result

Run npm run check, then inspect the result.

JavaScript
const page = { readable: true };

Tables and alignment

Keep tables compact. Wide data remains horizontally scrollable on small screens.

Write
| Item | State | Score |
| :--- | :---: | ---: |
| Draft | open | 4 |
| Review | done | 10 |
Result
Item State Score
Draft open 4
Review done 10

Reader privacy

Images and media

Alt text is required. Only allowlisted PasteMode brand assets render inline; external images remain explicit links instead of silent tracking requests.

Images with useful alternatives

Use meaningful alt text and an optional title. Pixel sizes clamp to 4000; percentages to 500. #left/#right float an image; a separate !; clears floats. Uploads are not available.

Write
![PasteMode mark](/brand/pastemode-icon-black.svg#left "PasteMode"){96px:96px}

!;
Result

PasteMode mark

Footnotes and back-links

Footnotes keep stable, safe ids. Follow the arrow to return to the reference.

Write
A useful detail.[^detail]

[^detail]: More context with **emphasis**.
Result

A useful detail.1

Footnotes

  1. More context with emphasis. ↩

Reference-style links

Move long destinations to the bottom when they interrupt the writing flow.

Write
Read the [CommonMark specification][commonmark].

[commonmark]: https://spec.commonmark.org/0.31.2/
Result

Beyond Markdown

Page settings

Publishing controls live beside the editor, so metadata never has to interrupt the document itself.

01

Identity

Title, description and a custom or generated URL.

02

Privacy

Public, unlisted or private; indexing, expiry and password.

03

Sharing

Dedicated social title, description and HTTPS preview image.

04

Reading

Width, surface, language, content warning and table of contents.

Use the page elsewhere

Publishing tools

Every published page keeps portable routes close at hand.

/raw/[slug]

Read the original Markdown as plain UTF-8 text.

/download/[slug]

Download the source with a safe attachment filename.

/embed/[slug]

Use the minimal, explicitly enabled reading view.

/clone/[slug]

Open a public page as a new local draft.

/api/v2/pastes

Create and manage pages with scoped API tokens.

pastemode CLI

Planned for a later release; not presented as available yet.

Exact behavior

Reference and limits

Markdown baseline
CommonMark + GFM
Safe extensions
Highlights at word boundaries, underline options, spoilers, named and hex colors, callouts, contents and alignment — all rendered without raw HTML.
Escapes and line breaks
Escape extension punctuation with a backslash. Single newlines follow CommonMark; use two trailing spaces for a hard break. Imported Rentry documents can use a dedicated line-break mode, including literal \n inside tables.
Render limits
Markdown is limited to 300,000 characters, bounded nesting and complexity. Live preview pauses above 100,000 characters. Unsupported emoji shortcodes, math, Mermaid, definition lists and raw HTML do not add active content.
Raw HTML
Ignored and never executed. Preview reports dropped HTML; use Markdown or code fences instead.
External images
Shown as source links to avoid passive reader tracking.
External links
Carry ugc, nofollow, noopener and noreferrer. Image source links open separately.