Skip to content

Outline Reorder Mode

Rearrange Markdown sections — no drag-and-drop, no hand editing

Split any Markdown document into heading-bound sections, move them with up / down / top / bottom buttons, remove ones you don't need, and copy or download the rebuilt document. Keyboard-friendly and fully offline.

6 section(s)

Sections

L1 · H1 · Project README

# Project README

Welcome to the project. Click sections below to reorder them.

L5 · H2 · Installation

## Installation

```bash
npm install my-package
```

L11 · H2 · Usage

## Usage

Import and call `run()`.

L15 · H2 · API Reference

## API Reference

Detailed API docs.

L19 · H2 · Contributing

## Contributing

PRs welcome.

L23 · H2 · License

## License

MIT.

How to reorder Markdown sections

  1. Paste your Markdown into the source box at the top, or click Open .md to load a file.
  2. Sections appear as cards below the source. Each one shows its heading level, title, line number, and a short preview of the body.
  3. Use the arrow buttons to move a section up or down. The double-arrow buttons send it straight to the top or bottom of the document.
  4. Click the trash icon to remove a section completely.
  5. The rebuilt Markdown at the bottom updates in real time — copy or download when you're happy.

Why reorder without dragging?

Drag-and-drop is the obvious metaphor for reordering, but it breaks down for documents that are taller than the viewport. Buttons solve that problem:

  • Keyboard-only access. Tab + Enter / Space drives the entire flow — no mouse needed.
  • Large documents. Moving a chapter from page 1 to page 50 takes one click instead of a long drag.
  • Accessibility. Screen-reader users get the same controls as everyone else.
  • Mobile. No fiddly long-press on tiny phone targets.

When this saves the most time

  • Restructuring a README. You realize the Quickstart should come before the Configuration section. Without this tool, you'd hand-cut and hand-paste hundreds of lines and risk dropping fenced code or images.
  • Building a doc page from notes. Notion or Obsidian exports often end up with the right sections in the wrong order. A 30-second pass here fixes the flow.
  • Polishing a release blog post. Move the strongest "what shipped" section to the top, push contributor shout-outs to the bottom.
  • Splitting one doc into two. Use this tool to group related sections, then export and split with Merge & Split.

What gets preserved across a reorder

ElementPreserved
Fenced code blocksYes — content + language tag
Inline code spansYes
Tables (GFM pipe tables)Yes
Images and linksYes
Raw HTML inside sectionsYes
Front matter (YAML at top)Yes — treated as preamble
Heading levelsYes

What you should re-verify after a reorder:

  • Cross-section links. A link like [See above](#some-id) may now point to a section that follows it instead of preceding it.
  • Phrases like "in the next section". Search the document for "above", "below", "next", "previous", "earlier", "later" after restructuring.
  • TOC freshness. If your repo has a manually maintained table of contents, regenerate it with the Slug Generator.

Companion tools

Privacy & data

The splitter and joiner run entirely in your browser. Your document never leaves the tab.

Frequently asked questions

What does the outline reorder tool do?
It splits any Markdown document into chunks based on headings, lets you move those chunks up, down, to the top, or to the bottom with one-click buttons, and rebuilds the document in the new order. No drag-and-drop needed — perfect for keyboard-first workflows.
How are sections detected?
Every ATX heading (`#`, `##`, `###`, `####`, `#####`, `######`) starts a new section. Content before the first heading is treated as a 'preamble' section that you can also move around. Fenced code blocks are kept intact — a heading-like line inside a code fence won't trigger a split.
Can I remove a section instead of moving it?
Yes. Each section has a trash icon. Removing a section deletes both the heading and everything beneath it up to the next heading. The action is reflected in the rebuilt Markdown immediately — keep a copy of the original if you might change your mind.
Does it preserve fenced code blocks and HTML?
Yes. The splitter respects fences (` ``` `) and code-block content. Raw HTML, inline code, and embedded Mermaid all survive the round trip exactly as written.
Is the file uploaded?
No. The parser, the reorder logic, and the file picker all run in your browser. We don't upload, log, or store the Markdown content.
What happens to heading anchor IDs after reorder?
GitHub-style heading IDs are derived from heading text, so reordering doesn't change the IDs themselves. However, internal links that relied on document order (e.g., 'next section' shorthand) need to be checked manually. Use the [Slug Generator](/tools/markdown-slug-generator) to confirm the IDs.