How to write and publish
Write in the Text tab, check the formatting in Preview, then choose Publish paste. Preview and published pages use the same Markdown renderer. This guide covers formatting, diagrams, and what happens after you publish.
Text and headings
| Write this | Result |
|---|
# H1 through ###### H6 | Six heading levels. Link to a heading with an anchor such as #user-content-your-heading. |
**bold** · *italic* · ~~strike~~ | bold · italic · strikethrough. You can combine them. |
`inline code` | Inline code. Use double backticks around text that contains a backtick. |
> A quote | A blockquote. Use >> for a nested quote. Quotes can contain lists and other Markdown. |
--- or *** on a line of its own | A horizontal rule. Leave a blank line above it so it doesn't become a heading underline. |
| A blank line | A new paragraph. A single newline usually stays within the same paragraph. |
Two spaces or \ at the end of a line | A line break within a paragraph. |
\*, \#, \[ | A literal formatting character. The backslash stops Markdown from treating it as syntax. |
You can also underline a heading with === for level 1 or --- for level 2. Repeated heading names get numbered anchors, such as #user-content-notes-1.
Lists
| Write this | Result |
|---|
- Item, * Item, or + Item | A bullet list. Indent a sublist under the parent item's text. |
1. Item | A numbered list. The first number sets the starting number. |
- [ ] Todo / - [x] Done | Unchecked and checked task boxes. They're read-only; change the source to update them. |
| A blank line, then indented text | Another paragraph or block in the same list item. Keep it aligned with the item's text. |
Links, images, and footnotes
| Write this | Result |
|---|
[label](https://…) | A link. HTTP and HTTPS links open in a new tab. |
[label](https://… "title") | A link with a tooltip. |
https://…, www.…, name@mail.com | An automatic link without brackets. |
[email](mailto:name@mail.com) / [call](tel:…) | A link that opens the reader's email or phone app. |
[label](/path) / [section](#user-content-notes) | A same-site link or a heading link. Paths starting with ./ or ../ also work. |
 | An HTTPS image that loads near the visible part of the page. Use alt text to describe it. |
[^1] in text, then [^1]: note | A footnote. The marker links to the note, and the note links back. |
For reference links, write [label][ref] and define [ref]: https://… elsewhere. Angle brackets also work for full URLs and email addresses.
Links with unsupported addresses, such as javascript: or protocol-relative //… URLs, won't open. Non-HTTPS images show their alt text instead. Images don't send this page's address as a referrer, but the image host can still receive the reader's IP address.
Tables
Separate cells with | and put a separator row below the header. Use :--- for left alignment, :---: for center, and ---: for right. Escape a pipe inside a cell with \|. Wide tables scroll sideways.
Code blocks
Put three backticks on a line, add a language name such as python, then write your code. Close the block with three backticks on another line. Tilde fences also work. Use a longer fence if the code itself contains triple backticks.
Each block has a language label and a copy button. Highlighting follows the reader's light or dark theme. An unknown language, or no language label, gives you a plain code block. Code is displayed, not executed.
Supported language names: bash · shell · javascript · typescript · jsx · tsx · json · yaml · toml · css · html · markdown · python · go · rust · java · c · cpp · csharp · php · sql · dockerfile · nginx · text
These aliases work too: js · mjs · cjs · ts · mts · cts · py · sh · zsh · yml · md · c++ · c# · cs · golang · rs · htm · plaintext · txt
Math
Wrap inline math in single dollar signs: $e^{i\pi}+1=0$. For a centered equation, put $$ on separate lines above and below it.
KaTeX supports fractions, roots, sums, integrals, matrices, Greek letters, and many other math commands. It isn't a full LaTeX document engine. If an expression isn't supported or contains an error, it shows as text rather than an equation.
Mermaid diagrams
Use a code fence with mermaid as the language name, then start the source with a diagram type. Types include flowchart · sequenceDiagram · classDiagram · stateDiagram · erDiagram · gantt · pie · gitGraph · journey · mindmap · timeline · quadrantChart · xychart-beta · block-beta · sankey-beta · kanban · architecture-beta · C4Context.
- Diagrams load as you scroll toward them. There's no diagram-count limit, but the paste and per-diagram size limits still apply.
- Colors follow the reader's theme. Changing the theme redraws the diagram and resets its zoom.
- Use trackpad pinch or Ctrl+scroll to zoom where your pointer is. Drag after zooming to move around. Double-click to reset the view. Pinch support depends on the browser; touch-screen pinch isn't supported.
- Open Diagram source below the diagram to read or copy the Markdown source.
- If a diagram fails, you can retry or check the source. A diagram over 50 KiB won't render; its source stays available to copy.
Writing and drafts
The editor uses CodeMirror with Markdown highlighting, line wrapping, undo, redo, and search. Use Ctrl+F or Cmd+F while the editor is focused to search.
Drafts save in this browser about half a second after you stop making changes. New-paste drafts restore when you return. On an edit page, a draft that differs from the published version gives you a restore or discard choice.
Drafts don't sync to other browsers or devices. Storage can be blocked or cleared, and a crash before autosave may lose recent changes. Keep another copy of important text. A draft clears after a successful publish, save, or delete.
The status bar counts UTF-8 bytes, not characters. Some characters use more than one byte. Your browser may warn before you close or reload with unsaved changes, but don't rely on that warning as a backup.
Preview updates shortly after you stop typing. It sends the text to the server for rendering without publishing it. If preview fails, your text stays in the editor.
Titles and URLs
A title is optional and can be up to 200 characters. Leave it blank when creating a paste and Nuska uses the first Markdown heading, from # through ######. The title appears in the browser tab; add a heading in the text if you want it on the page.
The custom URL field is also optional. Use 3 to 80 lowercase letters, digits, and hyphens, with no leading, trailing, or consecutive hyphens. Names used by the site, such as new and about, are reserved.
Leave it blank to generate a URL name from the title, up to 64 characters. If the name is taken, Nuska tries a UTC date-and-time suffix, then seconds, then a random name. It also uses a random name when there's no usable title. If a custom name you entered is taken, choose another. URLs don't change when you edit a paste.
Expiry, editing, and deletion
Choose Never expires, 1 hour, 1 day, 7 days, or 30 days. The period starts when you publish. On an edit page, Keep current expiry leaves the existing deadline alone; choosing another period starts it from when you save.
Expired pastes can't be read, edited, or brought back by changing their expiry. Raw and API reads return HTTP 410 while an expired record remains in storage, then 404 after it's removed.
Publishing gives you an edit key on the success screen. Save it before leaving. Nuska stores a hash on the server and can't recover or reset the key. Without it, you can't edit or delete the paste.
Choose Save the edit key in this browser to add the paste to My pastes. This is optional. Anyone using the same browser profile can access saved keys, and clearing site data removes them. Keep a separate copy if you need edit access later.
Open Edit on a published paste to change its text, title, or expiry. Enter your key, or use the one saved in this browser, then choose Save changes. Delete paste asks for confirmation and permanently removes the paste. Removing an entry from My pastes only forgets the local key; it doesn't delete the published paste.
Open Raw on a published paste to read its original Markdown at /your-slug/raw. You don't need an edit key to read or copy it.
Limits and privacy
- A paste can contain up to 512 KiB (524,288 bytes) of UTF-8 text. Each Mermaid diagram can contain up to 50 KiB (51,200 bytes) of source.
- Nuska doesn't render raw HTML, MDX, scripts, iframes, embeds, or custom CSS. Markdown links and images follow the address rules above.
- Anyone with the link can read and share a paste. Nuska doesn't list pastes publicly and asks search engines not to index them. A title-based or custom URL can still be guessed. There's no password protection or end-to-end encryption.
- Publishing, editing, deleting, previews, and failed edit-key attempts have request limits. If you reach one, wait before trying again. A bot check may appear when configured.