00Systems check
Extended does not mean universal.
“Extended Markdown” describes features beyond the original syntax, not one governing standard. GitHub Flavored Markdown, Markdown Extra, static-site generators, note apps, and desktop editors overlap, but their extension sets are not identical.
Start with the basic Markdown syntax guide if headings, emphasis, links, or ordinary lists are still unfamiliar. Those elements are the portable layer beneath everything on this page.
GitHub Flavored Markdown is the clearest formal extension set. It is a strict superset of CommonMark and adds four defined extensions: tables, strikethrough, autolinks, and task list items. GitHub also supports features such as footnotes and alerts in its product, but those are platform behavior rather than additions in the formal GFM specification.
Write for the processor that will publish the file. When the destination is unknown, keep a plain-text fallback inside the document.
01Compatibility radar
Know which layer owns the feature.
These classifications prevent a common mistake: calling every modern feature “GFM” even when GitHub implements it outside the GFM specification.
| Feature | Defined by | Portability |
|---|---|---|
| Fenced code | CommonMark | Widely supported |
| Tables | GFM extension | Common, not core |
| Task lists | GFM extension | Common on developer platforms |
| Strikethrough | GFM extension | Common |
| Extended autolinks | GFM extension | Common, parser-dependent |
| Footnotes | Platform extension | Syntax and support vary |
| Heading IDs | Platform extension | Syntax varies |
| Definition lists | Markdown Extra family | Limited |
| Alerts | GitHub platform feature | GitHub-specific syntax |
02Structured data
Tables.
A GFM table needs a header row and a delimiter row. Pipes separate cells. Colons in the delimiter row request left, center, or right alignment.
Aligned pipe table
| System | Status | Load |
| :--- | :---: | ---: |
| Guidance | Go | 42% |
| Telemetry | Hold | 81% |
<table>
<thead><tr><th align="left">System</th><th align="center">Status</th><th align="right">Load</th></tr></thead>
<tbody><tr><td>Guidance</td><td>Go</td><td>42%</td></tr><tr><td>Telemetry</td><td>Hold</td><td>81%</td></tr></tbody>
</table>
| System | Status | Load |
|---|---|---|
| Guidance | Go | 42% |
| Telemetry | Hold | 81% |
Outer pipes are optional in GFM. Keep them because they make column boundaries easier to inspect.
Pipes inside cells
Escape a literal pipe as \|. Inline emphasis, links, and code usually work inside cells. Multi-line blocks and lists do not travel reliably inside pipe tables.
For a destination without table support, use a short list with labeled values. Do not rely on spaces to align columns in proportional fonts.
03Literal channel
Fenced code and language identifiers.
Fenced code belongs to CommonMark, so it is more portable than most features in this guide. Open with at least three backticks or tildes, then close with the same character and at least the same fence length.
Language-tagged code fence
```javascript
const status = 'go';
console.log(status);
```
<pre><code class="language-javascript">const status = 'go';
console.log(status);
</code></pre>
const status = 'go';
console.log(status);The language name is an info string. CommonMark does not require a renderer to highlight it.
If the sample itself contains triple backticks, wrap it with four backticks or switch the outer fence to tildes. Never omit the closing fence in documentation even though CommonMark may close it at the end of the containing block.
04Work state
Task lists.
Start with an ordinary list marker, then add square brackets. A space means incomplete. An x or X means complete.
Task list items
- [x] Verify the checksum
- [ ] Publish the installer
- [ ] Confirm the live download
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" checked disabled> Verify the checksum</li>
<li class="task-list-item"><input type="checkbox" disabled> Publish the installer</li>
</ul>
- Verify the checksum
- Publish the installer
- Confirm the live download
Whether readers can click the boxes is a product feature. Static renderers normally disable them.
05Revision signal
Strikethrough.
GFM uses pairs of tildes around text that is no longer current. Use it for a visible correction, not as a substitute for deleting stale instructions.
Strike obsolete text
Launch is scheduled for ~~09:30~~ 10:15 UTC.
<p>Launch is scheduled for <del>09:30</del> 10:15 UTC.</p>
Launch is scheduled for 09:30 10:15 UTC.
Some parsers accept one tilde on each side. GFM defines one or two, but two is the safer visual signal.
06Automatic routing
Extended autolinks.
Core CommonMark autolinks use angle brackets. GFM expands that behavior to recognize many bare URLs and email addresses without brackets.
Bare URL autolink
Release notes: https://www.sputnikfx.com/software/markdown-viewer
<p>Release notes: <a href="https://www.sputnikfx.com/software/markdown-viewer">https://www.sputnikfx.com/software/markdown-viewer</a></p>
Release notes: sputnikfx.com/software/markdown-viewer
Use an explicit Markdown link when the label should be readable or when punctuation makes the URL boundary ambiguous.
07Reference channel
Footnotes.
Footnote syntax commonly uses a caret label in square brackets, followed by a matching definition. GitHub supports this pattern, but footnotes are not part of the formal GFM extension specification.
Labeled footnote
The first release shipped in July.[^release]
[^release]: The date comes from the signed release record.
<p>The first release shipped in July.<sup><a href="#fn-release">1</a></sup></p>
<section class="footnotes"><ol><li id="fn-release">The date comes from the signed release record.</li></ol></section>
The source label can be a word, but rendered footnotes are normally numbered.
Keep the definition near the end of the section or document. For destinations without footnotes, convert it to a short parenthetical note or a References section.
08Anchor control
Heading IDs.
Many processors generate heading anchors automatically. The exact conversion of spaces, punctuation, duplicate headings, and non-Latin text differs. Some systems also accept an explicit ID after the heading.
## Deployment checks {#deployment-checks}
That brace syntax works in systems such as Pandoc and some static-site generators, but it is not GFM. On GitHub, link to the automatically generated slug instead. Test the final URL because duplicate headings often receive numeric suffixes.
09Term mapping
Definition lists.
Markdown Extra and related processors may turn a term followed by a colon-prefixed description into an HTML definition list.
Term and definition
Telemetry
: Measurements sent from the vehicle.
Abort window
: The period when a launch can be stopped safely.
<dl><dt>Telemetry</dt><dd>Measurements sent from the vehicle.</dd><dt>Abort window</dt><dd>The period when a launch can be stopped safely.</dd></dl>
- Telemetry
- Measurements sent from the vehicle.
- Abort window
- The period when a launch can be stopped safely.
GitHub does not define this syntax. Use bold terms followed by paragraphs when the destination is uncertain.
10Priority message
GitHub alerts.
GitHub renders a blockquote beginning with an alert marker as a styled note. Supported types include NOTE, TIP, IMPORTANT, WARNING, and CAUTION.
Warning alert
> [!WARNING]
> Verify the installer checksum before launch.
<div class="markdown-alert markdown-alert-warning"><p>Verify the installer checksum before launch.</p></div>
Verify the installer checksum before launch.
Outside GitHub, this usually falls back to an ordinary blockquote containing the marker text.
11Publication plan
Build for failure, then preview.
The right fallback depends on what readers lose when an extension fails. A missing strikethrough is inconvenient. A broken deployment table can hide operational facts.
- Name the destination.GitHub, a documentation generator, and a desktop preview may use different parsers.
- Keep critical meaning in text.A checkbox or color should not be the only place a status appears.
- Prefer CommonMark where it can do the job.Fenced code travels farther than a platform-specific code widget.
- Test links and heading anchors after rendering.Slug rules and sanitization happen at publication time.
- Preview the real document.Small test snippets miss interactions between lists, tables, HTML, and neighboring blocks.
Return to the basic syntax field manual whenever portability matters more than a richer layout.
12Local working console
Test the source before it ships.
Sputnik Markdown Viewer keeps extended syntax and rendered output together on Windows. The current release includes the Sputnik syntax guide in its own app window and checks for newer builds without sending document content.
Get Sputnik Markdown Viewer free13Direct answers
Extended Markdown questions.
What is extended Markdown syntax?
Extended Markdown is a practical label for formatting features added beyond the original Markdown syntax. Support depends on the processor. GitHub Flavored Markdown formally adds tables, strikethrough, autolinks, and task lists to CommonMark.
Are Markdown tables supported everywhere?
No. Tables are part of GitHub Flavored Markdown but not core CommonMark. Confirm that the publishing platform supports pipe tables before depending on them.
How do you add syntax highlighting to a Markdown code block?
Put a language identifier such as javascript after the opening code fence. The identifier becomes metadata for the renderer, but actual highlighting depends on the destination and its installed highlighter.
Does GitHub Flavored Markdown support footnotes?
GitHub supports footnotes in its writing interface, but footnotes are not one of the four extensions defined by the formal GFM specification. Treat them as a GitHub platform feature and test other destinations separately.
What is the safest fallback for unsupported extended Markdown?
Use basic Markdown, plain text, or a short HTML element only when the destination allows HTML. For critical documents, preview the exact file in the processor that will publish it.
SourcesSpecification channel
References and scope.
This guide uses original examples. Syntax classifications were checked against the GitHub Flavored Markdown specification, the current CommonMark specification, and GitHub's official documentation for writing and formatting and tables.