Markdown Footnotes: How to Add References and Citations

How to use footnotes in markdown for citations, references, and supplementary notes. Covers syntax, multi-paragraph footnotes, and platform support.

· · 5 min read

Last updated: February 27, 2026

markdown footnotes reference

Footnotes let you add references, citations, or supplementary information without cluttering the main text. The syntax uses [^label] in the text and [^label]: content for the definition. Footnotes are a GFM extension supported by GitHub, Obsidian, and most modern markdown processors.

Basic Syntax

Place the reference marker in your text and the definition anywhere in the document:

Markdown was created in 2004[^1].
[^1]: John Gruber published the original Markdown specification with Aaron Swartz.

The renderer collects all footnote definitions and places them at the bottom of the document, regardless of where you write the definitions in the source. Each reference becomes a superscript number that links to the corresponding note.

Numeric vs Named Labels

Labels can be numbers or descriptive names:

<!-- Numeric -->
This claim needs a source[^1].
[^1]: Source: https://example.com/research
<!-- Named -->
This claim needs a source[^source].
[^source]: Source: https://example.com/research

Both render identically. Named labels are easier to manage in long documents because you can identify them without counting.

Multi-Paragraph Footnotes

Indent continuation lines by four spaces to include multiple paragraphs in a single footnote:

Here is a complex claim[^detail].
[^detail]: The first paragraph of the footnote.
The second paragraph continues the same footnote.
Everything indented by four spaces is included.
Even a third paragraph works.

You can also include code blocks and lists in footnotes with proper indentation:

[^example]: This footnote includes a list:
- First item
- Second item
And a code block:
const x = 42;

Inline Footnotes

Some parsers (Pandoc, not GitHub) support inline footnote definitions:

Here is an inline footnote^[This is the footnote content, defined right here.].

This is not part of GFM and does not work on GitHub, VS Code, or most web-based renderers. For portable documents, use the standard [^label] syntax.

When to Use Footnotes

Academic and research writing:

Studies show a 40% improvement in retention when using spaced repetition[^spaced].
[^spaced]: Ebbinghaus, H. (1885). Memory: A Contribution to Experimental Psychology.

Technical documentation with supplementary context:

The API uses rate limiting to prevent abuse[^rate-limit].
[^rate-limit]: Default limit is 100 requests per minute. Pro accounts get 1,000. See the [rate limiting docs](/docs/api/rate-limiting) for details.

Legal or compliance notes:

All data is encrypted at rest[^encryption].
[^encryption]: AES-256 encryption. Key management handled by AWS KMS. See our [security page](/security) for the full audit report.

Definitions and glossary terms:

The document uses frontmatter[^frontmatter] for metadata.
[^frontmatter]: Frontmatter is a block of YAML at the top of a markdown file, delimited by `---`. It stores metadata like title, date, and author.
ApproachBest For
Inline linksReferences the reader should follow immediately
FootnotesSupplementary context that would interrupt the flow
Reference-style linksMany URLs in a single paragraph

Footnotes work best when the extra information is interesting but not required to understand the main text. If the reader needs the information to follow your argument, use an inline link or parenthetical note instead.

Platform Differences

FeatureGitHubVS CodeObsidianMDtoLinkPandoc
Basic footnotes [^1]YesYesYesYesYes
Named labels [^name]YesYesYesYesYes
Multi-paragraphYesYesYesYesYes
Inline ^[text]NoNoNoNoYes
Back-reference linkYesNoYesYesYes
NumberingAuto (sequential)AutoAutoAutoAuto

Back-reference links are the small arrows (↩) next to each footnote that let the reader jump back to where the reference appeared in the text.

Common Mistakes

Forgetting the caret. [1] is a reference-style link label, not a footnote. The caret (^) is required: [^1].

Space after the colon. The footnote definition needs a space after the colon:

<!-- Wrong -->
[^1]:No space
<!-- Correct -->
[^1]: With space

Defining a footnote without referencing it. If you define [^unused]: text but never write [^unused] in the body, most parsers ignore it. Some parsers render it as an orphaned footnote at the bottom.

Putting the definition inside a paragraph. Footnote definitions must start at the beginning of a line (no indentation for the first line):

<!-- Wrong: definition indented -->
[^1]: This may not render.
<!-- Correct: starts at column 0 -->
[^1]: This renders correctly.

Copy-Paste Templates

Basic footnote:

Text with a reference[^1].
[^1]: The footnote content.

Named footnote:

A specific claim[^source-name].
[^source-name]: Author, "Title," Publication, Year. URL.

Multi-paragraph footnote:

Complex topic[^detailed].
[^detailed]: First paragraph of explanation.
Second paragraph with additional context.

FAQ

How do I add footnotes in markdown?

Use [^label] where you want the reference marker and [^label]: content for the definition. The label can be a number or a name. Example: Text[^1] with [^1]: Footnote content elsewhere in the document.

Where do footnotes appear in the rendered output?

At the bottom of the document. The renderer collects all footnote definitions and displays them in order at the end, regardless of where you placed the definitions in the source file.

Do footnotes work on GitHub?

Yes. GitHub supports footnotes as part of its GFM implementation. Both numeric and named labels work, along with multi-paragraph footnotes.

Footnotes ([^1]) add supplementary text at the bottom of the document. Reference-style links ([text][1]) create clickable links to external URLs. They use similar syntax but serve different purposes.

Try It Out

Test footnotes in the MDtoLink editor and see them render at the bottom of your document. Publish to a shareable URL when you’re ready.

For the full syntax, see the markdown cheat sheet. For standard links, see the markdown links guide.


David Schemm
David Schemm

Founder, MDtoLink

David builds developer tools and writes about markdown workflows, documentation, and AI-assisted publishing.

Publish your markdown to a shareable URL

One command. Free to start. No credit card.