MeshWorld India LogoMeshWorld.
MarkdownTutorial5 min read

Footnotes in Markdown

Vishnu
By Vishnu
|Updated: Jul 15, 2026
Footnotes in Markdown

Citing a source or adding a side note without derailing a sentence is a common need in technical writing and long-form articles. Footnotes solve this by moving the extra detail to the bottom of the document while leaving a small reference marker in the text. This guide explains the footnote syntax, how numbering works, and which tooling you need since footnotes are not part of core CommonMark.

Key Takeaways

  • Insert a footnote reference with [^label] and define its content elsewhere with [^label]: text.
  • Footnotes are NOT part of core CommonMark or even GFM; they require a dedicated plugin such as remark-footnotes.
  • Footnote labels can be words or numbers; the rendered numbering follows the order references appear in the text.
  • Multi-paragraph or multi-line footnotes are supported by indenting continuation lines under the definition.

How Do I Add a Basic Footnote?

Write a caret followed by a label in square brackets ([^label]) at the point in the text where the reference should appear. Then define the footnote’s content anywhere else in the document using the same label followed by a colon.

markdown
Markdown was created by John Gruber in 2004.[^1]

[^1]: See the original syntax documentation at daringfireball.net/projects/markdown.

On a renderer with footnote support enabled, this compiles to a small superscript reference linking down to the definition:

html
Markdown was created by John Gruber in 2004.<sup><a href="#fn-1">1</a></sup>

<!-- ...later in the document -->
<ol>
  <li id="fn-1">See the original syntax documentation at daringfireball.net/projects/markdown.</li>
</ol>
This Guide's Own Renderer Doesn't Support Footnotes

This site’s Markdown pipeline uses remark-gfm, which does not include footnote parsing. If you tried the [^label] syntax above directly in a live preview here, it would print as literal bracket text instead of a superscript link, since footnote support requires a separate plugin like remark-footnotes.


How Is Footnote Numbering Determined?

You can use any label you like (words, abbreviations, or numbers), but the number shown to the reader is always based on the order the references appear in the running text, not the order the definitions are written in.

markdown
First point.[^b] Second point.[^a]

[^a]: This becomes footnote 2, since [^a] appears second in the text.
[^b]: This becomes footnote 1, since [^b] appears first in the text.
Use Descriptive Labels for Readability

Labels like [^gruber] or [^spec-2019] are easier to track in a long document than [^1], [^2], [^3] , since the rendered numbering is generated automatically regardless of what you name them.


Can a Footnote Span Multiple Paragraphs?

Yes. Indent any continuation lines by four spaces (matching the indentation rule used for content inside list items) to keep them part of the same footnote definition.

markdown
Here's a claim that needs more context.[^detail]

[^detail]: This is the first paragraph of the footnote.

    This is a second paragraph, indented to stay part of the same footnote.

Do All Markdown Renderers Support Footnotes?

No. Footnotes are not part of core CommonMark or the base GFM specification, and remark-gfm itself does not include footnote parsing. Support depends entirely on your tooling: static-site generators like Astro need a dedicated plugin such as remark-footnotes added separately, while platforms like GitHub render them natively in Markdown files and issues through their own proprietary handling.

Test Footnotes on Your Actual Platform

Before relying on footnotes in a document meant for multiple platforms, check each one individually. A footnote that renders correctly on GitHub may show up as raw [^1] text on a renderer without footnote support.


Summary Checklist

  • Write [^label] at the point in the text where the reference marker should appear.
  • Define the footnote anywhere else with [^label]: content.
  • Numbering follows reference order in the text, not definition order.
  • Indent continuation lines by four spaces for multi-paragraph footnotes.
  • Confirm your renderer supports footnotes before depending on them, since they require a plugin or extension.

Frequently Asked Questions

Can I reuse the same footnote reference twice?

Yes. Referencing the same label ([^label]) more than once in the text typically links both markers to the same definition, though the exact rendering (duplicate numbers vs. back-references) varies by implementation.

Where should footnote definitions be placed in the file?

Anywhere technically works, since the parser resolves references regardless of position, but placing them all at the bottom of the document keeps the source readable and matches how most style guides recommend organizing them.

What happens if I reference a footnote label that has no definition?

Behavior depends on the renderer. Most either leave the raw [^label] text visible or silently drop the reference, since there’s no CommonMark-standard error handling for unresolved footnotes.


Share_This Twitter / X
Vishnu
Written By

Vishnu

Founder & Principal Architect at MeshWorld. Senior engineer and instructor specializing in AI agent systems, scalable web architecture, and modern development workflows.

Enjoyed this article?

Support MeshWorld and help us create more technical content