Markdown-Spickzettel — Syntax mit Live-Vorschau
Jedes Markdown-Element mit Quelltext und gerenderter Vorschau, erweiterte Syntax (Tabellen, Aufgabenlisten, Fußnoten, Mathematik, Mermaid, Hinweisboxen), eine Kompatibilitätstabelle für 9 Plattformen und ein Live-Playground.
Zuletzt geprüft: 2026-10-18, abgeglichen mit CommonMark 0.31.2, der GFM-Spezifikation und den Formatierungsdokus von GitHub, GitLab, Obsidian, Slack und Jira. Quellen: CommonMark spec 0.31.2, GitHub Flavored Markdown spec, GitHub writing and formatting docs, GitLab Flavored Markdown, Obsidian help, Slack message formatting, Jira text formatting notation.
Grundsyntax (funktioniert überall, wo CommonMark funktioniert)
Diese Elemente stehen in der CommonMark-Spezifikation und verhalten sich daher gleich in GitHub, GitLab, VS Code, Obsidian, Static-Site-Generatoren und den meisten Dokumentationstools.
Ein bis sechs # gefolgt von einem Leerzeichen. Nutze eine #-Überschrift pro Dokument und überspring keine Ebenen; Screenreader und Inhaltsverzeichnisse verlassen sich auf die Reihenfolge.
# Heading 1 ## Heading 2 ### Heading 3 #### Heading 4
Der ältere „Setext“-Stil; nur Ebene 1 und 2. Eine Zeile --- unter einem Absatz macht ihn zur Überschrift, was überrascht, wenn man eine horizontale Linie erwartet: Lass vor --- eine Leerzeile.
Heading 1 ========= Heading 2 ---------
Eine Leerzeile trennt Absätze. Ein einzelner Zeilenumbruch innerhalb eines Absatzes wird zu einer Zeile zusammengefügt (außer wo unter Zeilenumbrüche angegeben).
First paragraph, which can wrap across several source lines. Second paragraph after a blank line.
First paragraph, which can wrap across several source lines.
Second paragraph after a blank line.
Für einen Zeilenumbruch ohne neuen Absatz beende die Zeile mit zwei Leerzeichen oder einem Backslash. GitHub-Kommentare, Obsidian (standardmäßig), Slack und Discord behandeln stattdessen jede neue Zeile als Umbruch.
Two trailing spaces make a break. A trailing backslash\ works too.<br>So does an HTML br.
Two trailing spaces
make a break.
A trailing backslash
works too.
So does an HTML br.
Sternchen funktionieren innerhalb von Wörtern, Unterstriche nicht (snake_case_names bleiben wörtlich) – deshalb bevorzugen die meisten Styleguides *.
**bold** or __bold__ *italic* or _italic_ ***bold italic*** in**side**word works with *, not with _
bold or bold
italic or italic
bold italic
insideword works with *, not with _
Beginne jede Zeile mit >. Zitate können jedes andere Markdown enthalten, auch Listen und Code.
> Quoted text. > Still quoted. > > > Nested quote.
Quoted text. Still quoted.
Nested quote.
-, * oder + funktionieren alle; misch sie nicht in einer Liste (ein anderes Zeichen beginnt eine neue Liste).
- Item - Item - Nested (indent 2 spaces) - Item
- Item
- Item
- Nested (indent 2 spaces)
- Item
Die erste Zahl legt den Start fest; spätere Zahlen werden ignoriert, „1.“ in jeder Zeile nummeriert sich also selbst neu, wenn du Einträge umsortierst.
1. First 1. Second 1. Third 3. Starts at three 4. Four
First
Second
Third
Starts at three
Four
Rücke zusätzlichen Inhalt so ein, dass er mit dem ersten Zeichen des Eintragstexts fluchtet (3 Leerzeichen nach „1. “).
1. Install: ```sh npm install marked ``` 2. Indent continuation lines to the item text.
Install:
npm install markedIndent continuation lines to the item text.
Markdown innerhalb von Backticks wird nicht interpretiert.
Run `npm test` now. Use ``double `backticks` `` when the code contains one.
Run npm test now.
Use double `backticks` when the code contains one.
Drei Backticks (oder ~~~) in eigenen Zeilen. Das Wort nach dem Zaun benennt die Sprache für Syntax-Highlighting auf GitHub, GitLab, Obsidian und Discord.
```js const answer = 42; console.log(answer); ```
const answer = 42;
console.log(answer);
Die ursprüngliche Syntax. Zäune sind übersichtlicher und erlauben eine Sprache; eingerückter Code ist die einzige Form, die das alte Reddit versteht.
Paragraph.
four spaces of indent
make a code blockParagraph.
four spaces of indent
make a code block
Drei oder mehr -, * oder _ in einer eigenen Zeile, mit einer Leerzeile darüber.
Above --- Below (also *** or ___)
Above
Below (also *** or ___)
Die Form in spitzen Klammern ist der Autolink von CommonMark. Leerzeichen in einer URL müssen als %20 geschrieben oder die URL in <…> eingeschlossen werden.
[Link text](https://freetoolsforweb.com) [With a title](https://freetoolsforweb.com "Hover text") [Relative link](/tools/regex-cheat-sheet) <https://example.com>
Hält lange URLs aus dem Text heraus. Definitionen können irgendwo im Dokument stehen und werden nicht angezeigt.
Auf GitHub und GitLab bekommt jede Überschrift automatisch eine ID: kleingeschrieben, Leerzeichen zu Bindestrichen, Satzzeichen entfernt („## Install & Run“ wird zu #install--run). Obsidian nutzt stattdessen [[#Überschrift]].
[Jump to tables](#md-tables)
Wie ein Link mit ! davor. Der Text in [ ] ist der Alt-Text: Beschreib das Bild für Menschen, die es nicht sehen können. Markdown hat keine Syntax für die Größe; nutz HTML <img width="200">, wo HTML erlaubt ist.
Ein Backslash macht jedes ASCII-Satzzeichen wörtlich: \ ` * _ { } [ ] ( ) # + - . ! |
\*not italic\* \# not a heading 1\. not a list
*not italic* # not a heading 1. not a list
Von CommonMark erlaubt. GitHub und GitLab behalten eine sichere Teilmenge (kein script, style oder Event-Handler); Slack, Discord, Reddit und Notion zeigen es als Text.
Press <kbd>Ctrl</kbd> + <kbd>C</kbd>, H<sub>2</sub>O, x<sup>2</sup>.
Press Ctrl + C, H2O, x2.
Ein HTML-Kommentar bleibt im Quelltext, wird aber überall, wo HTML erlaubt ist, nicht angezeigt.
Visible. <!-- Not rendered: notes for editors --> Also visible.
Visible.
Also visible.
Erweiterte Syntax (GFM und Co.)
Nicht Teil von CommonMark. Die Unterstützung variiert, also prüf die Kompatibilitätstabelle, bevor du dich außerhalb von GitHub darauf verlässt.
Die zweite Zeile ist Pflicht; Doppelpunkte legen die Ausrichtung fest. Die Spalten müssen im Quelltext nicht bündig sein. Escape einen wörtlichen senkrechten Strich als \|. Keine verbundenen oder mehrzeiligen Zellen (auf GitHub <br> in einer Zelle verwenden).
Wo: GFM, GitLab, Obsidian, Reddit; Notion beim Einfügen
| Left | Centre | Right | | :--- | :----: | ----: | | a | b | 1 | | `c` | **d** | 22 |
| Left | Centre | Right |
|---|---|---|
| a | b | 1 |
c |
d | 22 |
Auf GitHub und GitLab sind die Kästchen in Issues und Pull Requests anklickbar und aktualisieren den Quelltext.
Wo: GFM, GitLab, Obsidian; Notion über das Kürzel []
- [x] Write the draft - [ ] Review - [ ] Publish
- Write the draft
- Review
- Publish
Überall zwei Tilden; GitHub akzeptiert auch eine. Slack nutzt ~einzelne~ Tilden, Jira -Bindestriche-.
Wo: GFM, GitLab, Obsidian, Discord, Reddit, Notion
~~no longer true~~
no longer true
GFM macht aus nackten URLs und www.-Adressen Links. In reinem CommonMark bleiben sie Text, außer sie stehen in <…>.
Wo: GFM, GitLab, Obsidian, Slack, Discord, Reddit
Visit https://freetoolsforweb.com or www.example.com.
Visit https://freetoolsforweb.com or www.example.com.
Die Definition kann überall stehen; Fußnoten werden in der Reihenfolge der Verweise nummeriert und am Ende aufgelistet. Obsidian kennt auch Inline-Fußnoten: ^[so wie hier].
Wo: GFM, GitLab, Obsidian (nicht CommonMark)
Legt den Anker selbst fest. Unterstützt von Pandoc, PHP Markdown Extra, Hugo, Jekyll (kramdown), MkDocs und Docusaurus; GitHub und GitLab ignorieren es, zeigen die geschweiften Klammern an und nutzen stattdessen automatische IDs.
Wo: Pandoc, Hugo, Jekyll, MkDocs, Docusaurus; nicht GitHub oder GitLab
### Install {#setup}Rendered by Pandoc, Hugo or kramdown with id="setup", so /page#setup links here.
Namen zwischen Doppelpunkten. Ein Doppelpunkt in GitHub, Slack, Discord oder Notion öffnet eine Emoji-Auswahl. Das Emoji selbst einzufügen funktioniert überall.
Wo: GitHub, GitLab, Slack, Discord; nicht Obsidian (ohne Plugin) oder CommonMark
Ship it :rocket: :+1: :tada:
Ship it 🚀 👍 🎉
TeX zwischen $-Zeichen inline, $$ für einen abgesetzten Block. GitHub akzeptiert auch $`…`$ und einen ```math-Block; GitLab unterstützt dieselben Formen. Notion nutzt $$…$$ für Inline-Formeln.
Wo: GitHub, GitLab, Obsidian, Notion (eigene Syntax)
Inline: $E = mc^2$
$$
\sum_{i=1}^{n} i = \frac{n(n+1)}{2}
$$Inline: E = mc2
∑i=1n i = n(n+1) ⁄ 2
Ein Codeblock mit der Sprache mermaid wird zum Diagramm: Flussdiagramme, Sequenz-, Klassen-, Zustands-, Gantt- und ER-Diagramme.
Wo: GitHub, GitLab, Obsidian, Notion (Mermaid-Codeblock)
```mermaid
flowchart LR
A[Write] --> B{Review}
B -->|ok| C[Publish]
B -->|changes| A
```(changes loop back to Write)
GitHub hat fünf Typen: NOTE, TIP, IMPORTANT, WARNING, CAUTION. GitLab (17.10+) akzeptiert dieselbe Syntax. Obsidian hat viel mehr Typen, eigene Titel (> [!tip] Titel) und Einklappen (> [!faq]-).
Wo: GitHub, GitLab 17.10+, Obsidian; anderswo ein normales Zitat
> [!NOTE] > Useful information. > [!WARNING] > Critical content that needs attention.
Useful information.
Critical content that needs attention.
HTML, aber breit unterstützt. Lass Leerzeilen um das Markdown darin, sonst wird es nicht geparst.
Wo: GitHub, GitLab, Obsidian, die meisten Static-Site-Generatoren
<details> <summary>Click to expand</summary> Hidden **Markdown** content. </details>
Click to expand
Hidden Markdown content.
Obsidian und einige Editoren (Typora, iA Writer); GitHub zeigt die Gleichheitszeichen an. Nutz <mark>, wo HTML erlaubt ist.
Wo: Obsidian, Typora; nicht GitHub
This is ==highlighted== text.
This is highlighted text.
Kompatibilität: CommonMark, GitHub, GitLab, Obsidian, Notion, Slack, Discord, Reddit, Jira
✓ funktioniert wie geschrieben · ~ funktioniert mit anderer Syntax oder nur teilweise (siehe Hinweis) · ✗ nicht verfügbar. Notion und der Slack-Editor wandeln Markdown-Kürzel beim Tippen um, statt eine Markdown-Datei zu rendern; Felder in Jira Data Center nutzen Wiki-Markup, der Editor von Jira Cloud akzeptiert beim Tippen Markdown-artige Kürzel.
| Funktion | CommonMark | GitHub (GFM) | GitLab | Obsidian | Notion | Slack (mrkdwn) | Discord | Jira wiki | |
|---|---|---|---|---|---|---|---|---|---|
| Überschriften # | ✓ Ja | ✓ Ja | ✓ Ja | ✓ Ja | ~ Teilweise / andere Syntax Kürzel # , ## , ### beim Tippen | ✗ Nein *Fette* Zeilen verwenden | ~ Teilweise / andere Syntax Nur #, ## und ### | ✓ Ja | ~ Teilweise / andere Syntax h1. bis h6. |
| Fett / kursiv | ✓ Ja | ✓ Ja | ✓ Ja | ✓ Ja | ✓ Ja | ~ Teilweise / andere Syntax *fett* und _kursiv_ (einzelne Zeichen) | ✓ Ja Auch __unterstrichen__ | ✓ Ja | ~ Teilweise / andere Syntax *fett* und _kursiv_ |
| Durchgestrichen | ✗ Nein | ✓ Ja ~~ oder ~ | ✓ Ja | ✓ Ja | ✓ Ja ~Text~ oder ~~Text~~ | ~ Teilweise / andere Syntax ~Text~ | ✓ Ja | ✓ Ja | ~ Teilweise / andere Syntax -Text- |
| Inline-Code | ✓ Ja | ✓ Ja | ✓ Ja | ✓ Ja | ✓ Ja | ✓ Ja | ✓ Ja | ✓ Ja | ~ Teilweise / andere Syntax {{monospace}} |
| Codeblock mit Zaun | ✓ Ja | ✓ Ja | ✓ Ja | ✓ Ja | ✓ Ja | ~ Teilweise / andere Syntax ``` funktioniert, ohne Sprach-Highlighting | ✓ Ja | ~ Teilweise / andere Syntax Neues Reddit und Apps; old.reddit braucht 4 Leerzeichen Einzug | ~ Teilweise / andere Syntax {code:java} … {code} |
| Syntax-Highlighting | ~ Teilweise / andere Syntax Die Sprache wird an den Renderer übergeben; das Highlighting liegt bei ihm | ✓ Ja | ✓ Ja | ✓ Ja | ✓ Ja Sprache am Block auswählen | ✗ Nein | ✓ Ja | ✗ Nein | ✓ Ja {code:language} |
| Zitatblock > | ✓ Ja | ✓ Ja | ✓ Ja | ✓ Ja | ~ Teilweise / andere Syntax " und Leertaste tippen; > und Leertaste ergibt einen Toggle | ✓ Ja | ✓ Ja >>> zitiert den Rest der Nachricht | ✓ Ja | ~ Teilweise / andere Syntax bq. oder {quote} … {quote} |
| Listen | ✓ Ja | ✓ Ja | ✓ Ja | ✓ Ja | ✓ Ja | ~ Teilweise / andere Syntax Der Editor macht aus „- “ eine Liste; keine Listensyntax in API-mrkdwn | ✓ Ja | ✓ Ja | ~ Teilweise / andere Syntax * Aufzählung, # Nummern, ** zum Verschachteln |
| Links [Text](url) | ✓ Ja | ✓ Ja | ✓ Ja | ✓ Ja Auch [[Wikilinks]] | ~ Teilweise / andere Syntax Beim Einfügen umgewandelt | ~ Teilweise / andere Syntax <https://url|text> in API-Nachrichten | ✓ Ja Maskierte Links | ✓ Ja | ~ Teilweise / andere Syntax [text|https://url] |
| Nackte URLs werden verlinkt | ~ Teilweise / andere Syntax Nur <https://…> | ✓ Ja | ✓ Ja | ✓ Ja | ✓ Ja | ✓ Ja | ✓ Ja | ✓ Ja | ✓ Ja |
| Bilder  | ✓ Ja | ✓ Ja | ✓ Ja | ✓ Ja Auch ![[file.png]] | ~ Teilweise / andere Syntax Beim Import oder Einfügen | ✗ Nein Stattdessen hochladen | ✗ Nein Anhängen oder Link einfügen | ✗ Nein Im Editor hochladen | ~ Teilweise / andere Syntax !image.png! |
| Tabellen | ✗ Nein | ✓ Ja | ✓ Ja | ✓ Ja | ~ Teilweise / andere Syntax Eingefügte Markdown-Tabellen werden zu einfachen Tabellen | ✗ Nein | ✗ Nein | ✓ Ja | ~ Teilweise / andere Syntax ||head|| und |cell| |
| Aufgabenlisten | ✗ Nein | ✓ Ja | ✓ Ja Auch [~] für „nicht zutreffend“ | ✓ Ja | ~ Teilweise / andere Syntax [] und Leertaste ergibt ein To-do | ✗ Nein | ✗ Nein | ✗ Nein | ✗ Nein |
| Fußnoten | ✗ Nein | ✓ Ja | ✓ Ja | ✓ Ja Auch inline ^[note] | ✗ Nein | ✗ Nein | ✗ Nein | ✗ Nein | ✗ Nein |
| Überschriften-Anker | ✗ Nein | ~ Teilweise / andere Syntax Nur automatisch, kein {#id} | ~ Teilweise / andere Syntax Nur automatisch | ~ Teilweise / andere Syntax Verlinken mit [[#Heading]] | ~ Teilweise / andere Syntax Stattdessen Blocklink kopieren | ✗ Nein | ✗ Nein | ✗ Nein | ~ Teilweise / andere Syntax {anchor:name} |
| Emoji-Shortcodes :smile: | ✗ Nein | ✓ Ja | ✓ Ja | ✗ Nein Plugin nötig | ~ Teilweise / andere Syntax Ein getipptes : öffnet eine Auswahl | ✓ Ja | ✓ Ja | ✗ Nein | ~ Teilweise / andere Syntax Text-Smileys wie :) :D (y) |
| Mathe $…$ | ✗ Nein | ✓ Ja | ✓ Ja | ✓ Ja | ~ Teilweise / andere Syntax $$…$$ inline, /equation für Blöcke | ✗ Nein | ✗ Nein | ✗ Nein | ✗ Nein |
| Mermaid-Diagramme | ✗ Nein | ✓ Ja | ✓ Ja | ✓ Ja | ✓ Ja Codeblock auf Mermaid gestellt | ✗ Nein | ✗ Nein | ✗ Nein | ✗ Nein Braucht eine Marketplace-App |
| Callouts > [!NOTE] | ✗ Nein | ✓ Ja 5 Typen | ✓ Ja 17.10+ | ✓ Ja Viele Typen, einklappbar | ✗ Nein /callout verwenden | ✗ Nein | ✗ Nein | ✗ Nein | ~ Teilweise / andere Syntax {panel} … {panel} |
| Rohes HTML | ✓ Ja | ~ Teilweise / andere Syntax Sichere Teilmenge; kein script, style oder iframe | ~ Teilweise / andere Syntax Sichere Teilmenge | ~ Teilweise / andere Syntax Bereinigte Teilmenge | ✗ Nein | ✗ Nein | ✗ Nein | ✗ Nein | ✗ Nein |
| Einfache neue Zeile = Zeilenumbruch | ✗ Nein Zwei Leerzeichen am Ende oder \ | ~ Teilweise / andere Syntax In Kommentaren ja, in .md-Dateien nein | ~ Teilweise / andere Syntax In Kommentaren ja, in Dateien nein | ~ Teilweise / andere Syntax Ja, außer „Strikte Zeilenumbrüche“ ist an | ✓ Ja Shift+Enter in einem Block | ✓ Ja | ✓ Ja | ✗ Nein Zwei Leerzeichen am Ende | ~ Teilweise / andere Syntax Neue Zeile ja; \\ erzwingt einen Umbruch |
Gleiche Sache, andere Syntax
Die Paare, über die man beim Einfügen zwischen Tools stolpert: Slack und Jira nutzen ein einzelnes * für Fett, und bei Slack-Links steht die URL zuerst.
| Element | Markdown / GFM | Slack mrkdwn | Discord | Jira wiki | |
|---|---|---|---|---|---|
| Fett | **bold** | *bold* | **bold** | **bold** | *bold* |
| Kursiv | *italic* | _italic_ | *italic* | *italic* | _italic_ |
| Durchgestrichen | ~~text~~ | ~text~ | ~~text~~ | ~~text~~ | -text- |
| Unterstrichen | (keine; <ins> in HTML) | (keine) | __text__ | (keine) | +text+ |
| Inline-Code | `code` | `code` | `code` | `code` | {{code}} |
| Codeblock | ```js … ``` | ``` … ``` | ```js … ``` | 4-space indent | {code:js} … {code} |
| Link | [text](https://url) | <https://url|text> | [text](https://url) | [text](https://url) | [text|https://url] |
| Überschrift | ## Title | (keine) | ## Title | ## Title | h2. Title |
| Zitat | > text | > text | > text | > text | bq. text |
| Aufzählungsliste | - item | • item (typed) | - item | - item | * item |
| Nummerierte Liste | 1. item | 1. item (typed) | 1. item | 1. item | # item |
| Spoiler | <details> (HTML) | (keine) | ||text|| | >!text!< | (keine) |
Markdown-Playground
Vorschauen und Playground werden in deinem Browser gerendert; nichts, was du eintippst, wird irgendwohin gesendet. Alle kostenlosen Tools ansehen.
Ein Problem gefunden oder etwas, das besser sein könnte? Wir lesen jede Nachricht und beheben Fehler schnell.
Dieser Markdown-Spickzettel zeigt jedes Element zweimal: das Markdown, das du tippst, und wie es gerendert wird, nebeneinander – so kopierst du den Quelltext und weißt, was du bekommst. Zuerst kommen die Grundlagen (Überschriften, Hervorhebung, Listen, Links, Bilder, Code), dann die erweiterte Syntax, die die meisten auf GitHub tatsächlich brauchen: Tabellen, Aufgabenlisten, Durchstreichen, Fußnoten, Hinweisboxen, Mathematik und Mermaid-Diagramme.
Markdown ist nicht eine einzige Sprache. CommonMark definiert den Kern; GitHub und GitLab ergänzen eigene Erweiterungen; Obsidian und Notion noch mehr; Slack, Discord, Reddit und Jira nutzen jeweils etwas Markdown-Ähnliches mit eigenen Regeln, etwa *einfache Sternchen* für Fettdruck in Slack und Jira. Die Kompatibilitätstabelle zeigt, was wo funktioniert, und die Übersetzungstabelle liefert die genaue Syntax für jedes Chat- oder Ticket-Tool. Die Vorschauen werden mit der Open-Source-Bibliothek marked gerendert (CommonMark plus GFM); Funktionen, die sie nicht umsetzt, zeigen, wie GitHub oder Obsidian sie darstellen. Ein kleiner Playground am Ende rendert alles, was du eintippst, in deinem Browser.
So funktioniert’s
- Suche nach einem Element (Tabelle, Checkbox, Fußnote, Zeilenumbruch) oder spring über die Chips oben zu einem Abschnitt.
- Kopiere das Markdown links auf einer Karte; rechts siehst du, wie es gerendert wird.
- Prüfe die Kompatibilitätstabelle, bevor du eine Erweiterung außerhalb von GitHub verwendest, und die Übersetzungstabelle, wenn du in Slack, Discord, Reddit oder Jira einfügst.
- Füge deinen eigenen Text in den Playground ein, um ihn in der Vorschau zu sehen, und kopiere dann das HTML oder lade eine .md-Datei herunter.
Häufige Fragen
Wie erstelle ich eine Tabelle in Markdown?
Schreib die Kopfzeile mit senkrechten Strichen, dann eine Trennzeile aus Bindestrichen, dann die Datenzeilen: | Name | Age |, dann | --- | --- |, dann | Ana | 31 |. Doppelpunkte in der Trennzeile legen die Ausrichtung fest (:--- links, :---: zentriert, ---: rechts). Tabellen sind eine Erweiterung von GitHub Flavored Markdown und werden von GitHub, GitLab, Obsidian, Reddit und den meisten Editoren unterstützt, aber nicht von reinem CommonMark, Slack oder Discord.
Wie füge ich einen Zeilenumbruch ein, ohne einen neuen Absatz zu beginnen?
Beende die Zeile mit zwei Leerzeichen oder einem Backslash, oder nutze <br>, wo HTML erlaubt ist. Ein einzelner Zeilenumbruch wird in CommonMark und in .md-Dateien auf GitHub sonst in denselben Absatz gezogen. GitHub-Kommentare, Obsidian (standardmäßig), Slack und Discord behandeln jeden Zeilenumbruch als Umbruch – deshalb kann derselbe Text in einer README und in einem Issue unterschiedlich aussehen.
Was ist der Unterschied zwischen CommonMark und GitHub Flavored Markdown?
CommonMark ist eine präzise Spezifikation der ursprünglichen Markdown-Syntax. GitHub Flavored Markdown (GFM) ist eine strikte Obermenge, die Tabellen, Aufgabenlisten, Durchstreichen, erweiterte Autolinks und einen Filter für unsicheres HTML ergänzt. Auf github.com kommen Fußnoten, Hinweisboxen, Mathematik, Mermaid-Diagramme und Emoji-Shortcodes durch GitHubs eigene Verarbeitung zusätzlich zu GFM hinzu.
Wie schreibe ich eine Checkbox oder To-do-Liste in Markdown?
Verwende einen Listeneintrag, der mit [ ] für eine offene oder [x] für eine erledigte Aufgabe beginnt: - [ ] Review, - [x] Write draft. GitHub und GitLab stellen in Issues und Pull Requests anklickbare Checkboxen dar, Obsidian schaltet sie in der Leseansicht um, und GitLab akzeptiert zusätzlich [~] für eine nicht zutreffende Aufgabe.
Unterstützt Slack Markdown?
Teilweise, mit eigenen Regeln namens mrkdwn: *fett* mit einfachen Sternchen, _kursiv_, ~durchgestrichen~ mit einfachen Tilden, `Code` und ```-Codeblöcke, > Zitate sowie Links in der Form <https://url|text> in Nachrichten, die über die API gesendet werden. Überschriften, Tabellen und Bilder gibt es nicht. Slacks Nachrichtenfeld wandelt manche Formatierungen auch beim Tippen um, und Block Kit hat einen eigenen markdown-Block, der Standard-Markdown akzeptiert.
Wie füge ich in Markdown eine Fußnote ein?
Setze [^1] an die Stelle des Verweises und definiere ihn in einer eigenen Zeile irgendwo im Dokument: [^1]: Die Quelle. GitHub, GitLab und Obsidian nummerieren Fußnoten in der Reihenfolge ihrer Verwendung und listen sie unten mit Rücklinks auf. CommonMark, Slack, Discord, Reddit und Notion haben keine Fußnoten.
Markdown schreiben, das überall gleich gerendert wird
• Lass vor und nach Überschriften, Listen, Codeblöcken, Tabellen und HTML-Blöcken eine Leerzeile. Viele „Warum wird das nicht gerendert?“-Probleme sind eine fehlende Leerzeile.
• Nutze umzäunte Codeblöcke mit Sprachangabe (```python) statt Einrückung; sie sind klarer und bekommen Syntaxhervorhebung.
• Nimm * für Hervorhebungen statt _, denn Unterstriche innerhalb von Wörtern (snake_case_names) lässt CommonMark in Ruhe, ältere Renderer behandeln sie aber anders.
• Bleib pro Liste bei einem Aufzählungszeichen; ein Wechsel von - zu * beginnt eine neue Liste.
• Rücke verschachtelte Listeninhalte so ein, dass sie mit dem Text des übergeordneten Eintrags fluchten, nicht um feste zwei oder vier Leerzeichen.
• Schreib für jedes Bild einen Alternativtext. Er wird angezeigt, wenn das Bild nicht lädt, und von Screenreadern vorgelesen.
README-Grundlagen auf GitHub
GitHub rendert README.md im Wurzelverzeichnis, in docs/ oder in .github/. Überschriften bekommen automatisch Anker, und GitHub baut daraus ein Inhaltsverzeichnis (der Gliederungs-Button in der Dateiansicht) – eine klare Überschriftenstruktur ist also das Inhaltsverzeichnis. Relative Links und Bilder (./docs/setup.md, ./images/demo.png) funktionieren auf github.com und auch in Forks und auf anderen Branches, anders als absolute URLs.
Hinweisboxen (> [!NOTE], > [!WARNING]) heben Installationshinweise hervor, Mermaid-Codeblöcke zeichnen Architekturdiagramme, die bearbeitbar bleiben, und <details> klappt lange Abschnitte wie vollständige Konfigurationsreferenzen ein. Beschränke den ersten Bildschirm darauf, was das Projekt ist, wie man es installiert und ein minimales Beispiel; alles andere kann weiter unten stehen.
Ähnliche kostenlose Tools
- ChatGPT zu Word — Füge eine Antwort aus ChatGPT, Claude oder Gemini ein und kopiere sie mit echten Überschriften, Tabellen und Listen statt ** und # in Word, Google Docs oder eine E-Mail.
- Wortzähler — Zähle Wörter, Zeichen, Sätze und Lesezeit und prüfe beim Tippen die Limits für X, LinkedIn, Instagram, YouTube, SEO und SMS.
- Git-Spickzettel — Git-Befehle geordnet nach dem, was du tun willst: letzten Commit rückgängig machen, Branch umbenennen, Remote-Branch löschen. Modernes switch/restore mit klassischen Entsprechungen und Warnhinweisen.
- Regex-Spickzettel — Jedes Token regulärer Ausdrücke mit funktionierendem Beispiel, Unterstützung in JavaScript, PCRE/PHP, Python, Go, Java und .NET und einem „Ausprobieren“-Link, der den Regex-Tester vorausgefüllt öffnet.
- Diff-Checker — Vergleiche zwei Versionen eines Textes, Codes oder einer JSON-Datei und sieh genau, welche Zeilen, Wörter und Zeichen sich geändert haben.