[^id] · numbered · GitHub-rendered

Build Markdown footnotes that stay in sync

Reference notes inline with [^id] and define them at the end. Add, edit, and remove footnotes — the output keeps both sides aligned.

Footnote Generator
Markdown
189 B
4 lines
Footnotes
2
defined
Refs in body
2
[^id] tokens
Orphans
0
all linked
input · fields
output · markdown
Pi is irrational[^pi] and was proven by Lambert[^lambert].

[^pi]: An irrational number is one that cannot be written as a ratio of two integers.
[^lambert]: Johann Heinrich Lambert (1768).
Quick Start

How to add Markdown footnotes

Inline reference plus a definition block. GitHub, GitLab and most Markdown processors render numbered footnotes automatically.

  1. 01

    Write the body

    Drop a [^id] token wherever you want a footnote pointer.

    Parsing runs through marked with GFM extensions enabled — tables, task lists, strikethrough, and fenced code blocks all match GitHub’s rendering.

    bodyGFMmarkedCommonMarklive
    input · markdownbody · GFM
    Pi is irrational[^pi].
    loaded · GFMGFM · ready
  2. 02

    Define footnotes

    Each footnote has an id and the text shown at the bottom.

    Soft-break behaviour is configurable: by default a single newline becomes a space (CommonMark), toggle on for chat-style <br> insertion.

    defssoft-breaksoptionsconfiglive
    defs · options2 · live
    [^pi]: ratio of integers.
    options applied · livelive
  3. 03

    Keep them in sync

    The orphan counter flags definitions whose id never appears in the body.

    The preview is scoped under a .mde class so its CSS doesn’t bleed into the rest of the page. Output HTML is whitespace-controlled for clean diffs.

    checkpreviewscoped CSSrenderstable
    orphan · renderedno · ready
    orphans: 0
    rendered · liverendered
  4. 04

    Copy Markdown

    Paste into your blog, docs or GitHub Discussion.

    Export covers both raw Markdown and rendered HTML; downloads stream as text/markdown or text/html via Blob + object URL.

    exportclipboard.md.htmlblob
    ✓ · exportedready · done
    ✓ Copied
    shipped · ready to shipsuccess
Pro tips

Author Markdown that renders everywhere

GFM is the safe default

GitHub-Flavored Markdown is the de-facto baseline (tables, task lists, strikethrough). CommonMark is stricter but ubiquitous as a fallback.

Soft-break behaviour varies

A single newline is a space in CommonMark, a <br> in GFM. Toggle soft breaks when source matters.

Escape inside code fences

Backticks inside fenced blocks need a longer fence — three becomes four. Use ~~~ if your content has many backticks.

Anchors are slugified

GitHub lowercases, strips punctuation, and joins with hyphens. Duplicate headings get -1, -2 suffixes.

Tables need a header row

The dash row sets alignment (:---, :-:, ---:). Use Table Aligner for diff-friendly columns.

Front matter is YAML

Triple-dash blocks at the top of files are parsed by static-site generators. Use the Front-Matter Validator to catch syntax errors.

Use Cases

Where footnotes shine

Long-form docs, academic notes, citations.

Blog posts

Add citations without cluttering the body. Render path uses marked with GFM extensions enabled (tables, task lists, strikethrough, autolinks), so what you preview matches what GitHub publishes bit-for-bit. Soft-break behaviour is configurable for chat-style vs prose Markdown.

GFM-compliant

RFCs

Reference prior art and links at the bottom. Pairs cleanly with the Markdown Cheatsheet for syntax you can't quite remember — callout blocks, footnotes, definition lists. Output stays diff-friendly so style-only changes don't drown out real edits in PRs.

GitHub-perfect

Books and papers

Long-form prose with many references. Cross-platform safe: anchors, code fences, and tables behave identically on GitHub, GitLab, Bitbucket, and Gitea. Heading-anchor slugs follow GitHub's lowercase-and-hyphenate rules so deep links survive a docs migration.

diff-friendly

Tutorials

Add side notes that don't break flow. No server roundtrip — perfect for proprietary content you can't paste into a public tool. The full marked + GFM bundle ships with the page, so it works offline once loaded.

render-stable

Migration notes

Footnote breaking changes inline. Front matter (YAML / TOML / JSON) passes through unchanged so static-site pipelines (Jekyll, Hugo, Astro, Eleventy) read it correctly. Pair with the Front-Matter Validator to catch syntax errors before deploy.

cross-platform

Hugo / Jekyll

Static-site engines render the [^id] syntax.

SEO-friendly
FAQ

Frequently asked questions

Standard [^id] inline references and [^id]: text definitions — supported by GitHub, GitLab, Pandoc, MkDocs and most engines.
Renderers number footnotes by first reference in the body, not by definition order.
Indent continuation lines with four spaces in the rendered Markdown. The tool keeps each note on a single line for simplicity.
A definition id isn’t referenced anywhere in the body. Either add a [^id] or remove the orphan.
No. Notes are built locally in the browser.
Suggest a tool

Something missing?

Tell us what you need. We ship the top requests every two weeks.

Sent straight to the maintainers · no account needed
47 in queue·8 shipped this month
Request queued. Thanks!