Markdown Footnote Organizer / Renumberer

Paste a Markdown document with [^label] footnotes and get them renumbered sequentially by reference order, with definitions collected and reordered at the end. Free, no signup.

Preview

Markdown Footnote Organizer / Renumberer

Paste a Markdown document that uses [^label] footnote references and [^label]: definition footnote definitions, and get back the same document with every footnote renumbered sequentially in the order it's first referenced, and every definition collected and reordered at the end of the document. Everything runs in your browser; nothing is uploaded.

The problem this solves

Footnote numbering only stays clean while you write a document straight through, start to finish. The moment you add a footnote in the middle, delete one, or reorder a section, every reference and definition after that point is now out of sequence — and fixing it by hand means manually renumbering every [^N] occurrence twice (once at the reference, once at the definition) without missing one or introducing a duplicate. It's exactly the kind of tedious, error-prone bookkeeping a tool should do instead. This tool also accepts non-numeric, custom labels ([^smith-2019], [^note-a]) — a valid part of the footnote syntax that's useful while drafting (labels that describe their content are easier to keep track of than bare numbers) but that most renderers still display as sequential numbers, so converting them to clean [^1], [^2], [^3]… before publishing is a reasonable final step.

What it does, precisely

  • Finds every footnote reference and definition in the document (skipping anything inside fenced code blocks, so an example containing literal [^1] text in a code sample isn't mistaken for a real footnote)
  • Numbers footnotes in the order their reference first appears in the body text — not the order their definitions happen to be written, which is often different once a document has been edited a few times
  • Renumbers every reference in place, so footnotes still appear where you put them in the text
  • Removes every definition from wherever it was originally written and collects all of them, renumbered and in ascending order, at the very end of the document — matching how GitHub, GitLab, and most other renderers actually display footnotes regardless of where the definition source sits, so the source now matches the rendered layout
  • Preserves multi-paragraph footnote definitions (continuation lines indented under the definition)

Being honest about the edge cases

Two situations can't be silently fixed, so this tool flags them instead of guessing:

  • A reference with no matching definition — the reference is still renumbered in place (so at least the numbering stays consistent), but a warning names it, since the footnote will show as broken or missing in most renderers until a definition is added.
  • A definition that's never referenced anywhere in the body — it can't be given a sequential number, since that numbering is driven entirely by reference order. Rather than silently deleting content you wrote, it's kept at the end of the output under its original label, with a warning so you can decide whether to reference it or remove it yourself.
  • The same label defined twice (two separate [^note]: blocks) — the first definition encountered is kept, the rest are dropped, and a warning names the label so you can check which one you actually wanted.

Preview limitations

The live preview renders footnote markers as superscript numbers with jump links and lists definitions with back-links, built directly by this tool rather than by a Markdown parser (since the marked library used elsewhere on this site for previews doesn't implement the footnote extension). It's a close approximation of how GitHub renders footnotes, not a guarantee of pixel-identical output on every platform — see our footnote syntax guide for which renderers support footnotes at all.

Common use cases

  • Editing a long document — add or remove footnotes anywhere without hand-renumbering everything after them
  • Academic or research writing — clean up citation-style footnotes before submission or publishing
  • Merging sections from multiple drafts — each draft's footnotes started at 1; renumber the combined document once
  • Converting descriptive labels to clean numbers — draft with [^label], publish with [^1]

Related tools