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
- Paste your Markdown into the source box at the top, or click Open .md to load a file.
- Sections appear as cards below the source. Each one shows its heading level, title, line number, and a short preview of the body.
- 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.
- Click the trash icon to remove a section completely.
- 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
| Element | Preserved |
|---|---|
| Fenced code blocks | Yes — content + language tag |
| Inline code spans | Yes |
| Tables (GFM pipe tables) | Yes |
| Images and links | Yes |
| Raw HTML inside sections | Yes |
| Front matter (YAML at top) | Yes — treated as preamble |
| Heading levels | Yes |
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
- Markdown Heading Audit — confirm the new outline doesn't skip levels.
- Markdown Slug Generator — get fresh anchor IDs after reorder.
- Markdown Merge & Split — pull groups of sections into their own files.
- Markdown Diff — review the before / after to confirm only order changed.
Privacy & data
The splitter and joiner run entirely in your browser. Your document never leaves the tab.
Frequently asked questions
- 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.
- 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.
- 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.
- Yes. The splitter respects fences (` ``` `) and code-block content. Raw HTML, inline code, and embedded Mermaid all survive the round trip exactly as written.
- 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.
- 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.