Merging Markdown files sounds trivial until you have ten chapters, three READMEs, and a pile of notes that all need to become one clean document — in the right order, with readable separators, and without broken encoding. This guide walks through the whole process using MergeMarkdown, a free online tool that runs entirely in your browser.
Step 1: Prepare your .md files
Before uploading, take one minute to tidy the source files. Make sure every file is
saved as UTF-8 — this is the default in VS Code, Obsidian, Typora, and most modern
editors, but files exported from old Windows tools are sometimes GBK or Latin-1 and
will show garbled characters after merging. Give the files descriptive names such as
01-intro.md, 02-install.md, 03-api.md, because alphabetical order is the
sensible starting point and you can fine-tune it later. If each file starts with its
own top-level # Title, consider demoting chapter titles to ## so the merged
document has exactly one H1; this keeps the table of contents clean when the result
is published to MkDocs, GitBook, or GitHub.
Step 2: Upload the files and sort them into order
Open MergeMarkdown and select your files with the file picker, or drag and drop them onto the page. The files appear as a sortable list. Drag any item up or down to change the merge order — the preview and the final download always follow the visible order, so what you see is literally what you get. Add more files at any time; new uploads are appended to the end of the list and can be dragged into place. There is no signup, no queue, and no upload to a server: everything stays on your device.
Step 3: Choose how files are joined
Between every two files the tool inserts a separator so chapters do not run together.
The default is a horizontal rule (--- on its own line), which renders as a clean
divider in every Markdown renderer. If you prefer tighter output, switch the separator
to a blank line. A good habit is to end each source file with exactly one trailing
newline — this prevents the last line of one chapter from gluing itself to the first
heading of the next. If your files already contain --- front-matter blocks, remove
or convert them first, because only the first front-matter block is meaningful and
duplicates confuse static site generators.
Step 4: Preview the merged result
The live preview renders the combined Markdown exactly as readers will see it: headings, lists, code blocks, tables, and links. Scroll through it and check three things: the chapter order, the heading levels, and any unclosed code fences (a missing closing
at 5MB to keep the page responsive — this cap affects only the preview pane. Merging
and downloading always process the full content, so large documents are safe.
## Step 5: Download or copy the result
When the preview looks right, download the merged file with one click, or copy the
combined Markdown to the clipboard and paste it straight into your editor, wiki, or
CMS. The suggested filename keeps the date or project name in it (for example
`docs-merged-2026-09-08.md`) so future merges do not overwrite past ones. Because
all processing happened locally, there is nothing to delete from a server and no
session that expires — your files never left the browser.
## Quick checklist
- All files saved as UTF-8, with descriptive ordered filenames.
- Sort order verified in the file list before downloading.
- One H1 for the whole document; chapters use H2 and below.
- Separator (`---` or blank line) confirmed between chapters.
- Code fences balanced; preview scanned once end to end.