Markdown Table Of Contents Generator
Generate a GitHub-style Markdown table of contents from headings in your document.
Keep your original file until you have checked the downloaded result. Browser memory and format support vary by device.
Headings inside fenced code blocks are ignored. The generated anchors follow GitHub-style slug rules.
Markdown Table Of Contents Generator FAQ
Are headings inside code blocks included?
No. Fenced code blocks are ignored so example headings in code are not mistaken for document sections.
Does it support H1 through H6?
Yes. Standard ATX headings from one to six hash marks are recognized when a space follows the marker.
Can I include the document title?
Yes. Turn on Include the H1 heading before generating the table of contents.
Will the links work on every Markdown site?
They are GitHub-style links, but slug behavior can vary. Test the output in your target renderer, especially when headings contain punctuation or non-Latin text.
Does the tool modify my Markdown source?
No. It creates a separate table of contents result and leaves the input text available for your own editing.
Markdown Table of Contents Generator
Generate a Markdown table of contents from headings in a document. Paste Markdown or open a file, choose whether to include the H1 heading, and create a separate list of anchor links. This is a focused outline generator for README files, technical documentation, notes, and static-site content.
This guide explains the complete browser workflow, what the result contains, and what to check before sharing it. The tool is intentionally focused on one clear file task. It does not silently add unrelated editing, conversion, upload, or cloud-storage features. That narrow scope makes the input and output easier to understand and gives you a practical way to verify the downloaded file.
How to use it
Start with a copy of the file you want to process. The page may need to load a browser library before the action becomes available, especially for PDF or video tasks. Follow these steps:
- Paste Markdown into the input editor or click Open to load a .md or .markdown file.
- Check the source headings and make sure they use standard ATX syntax such as ## Section.
- Enable Include the H1 heading when the document title should appear in the list.
- Click Generate Table of Contents and review the links in the output panel.
- Copy the result into your document or download it as a separate Markdown file.
Use a small representative file first when the document is important or unusually complex. Wait for the status message to say that processing has finished before closing the tab. If the browser reports a decoding, memory, or compatibility error, try a smaller file or a more common source format. The original is not replaced by the download, so keep it available until the result has been checked.
Suitable use cases
This tool is useful for focused, repeatable file preparation tasks such as:
- Creating a navigation list for a GitHub README or project documentation page.
- Building a quick outline from meeting notes, a course handout, or a long technical guide.
- Refreshing a table of contents after headings have been added or reordered.
- Preparing Markdown content for a static-site generator or knowledge base.
It is not a substitute for a full desktop editor when you need a multi-track timeline, advanced typography, complex PDF forms, professional color management, forensic metadata guarantees, or a precise round-trip guarantee for every proprietary file feature. Use the specific task that matches your goal and compare the downloaded file with the source before relying on it.
Output format
The output is UTF-8 Markdown containing one bullet link for each detected heading. H1 through H6 ATX headings are recognized outside fenced code blocks. Indentation represents heading depth relative to the first heading found, and duplicate heading text receives a numeric suffix so links remain distinct. Anchor rules differ slightly between GitHub, GitLab, Markdown libraries, and static-site generators, so preview the finished document in the platform where it will be published. The source Markdown is not rewritten.
The download is a new file or package; it does not modify the file selected in the input panel. File names are generated from the source name when practical, with a task-specific suffix so the original and result are easy to distinguish. A ZIP result may contain more than one generated asset and should be opened to confirm the expected files are present. For text results, review line endings, encoding, indentation, and any platform-specific syntax after download. For visual or document results, check dimensions, page order, playback, fonts, links, transparency, and other features that matter to your destination.
Privacy
Text is parsed in the browser and is not sent to an AI writing service or remote Markdown API by this workflow. The selected file may remain in the page memory until the tab is closed. Avoid pasting confidential credentials, private customer information, unpublished legal material, or other sensitive text into a public computer. The output is only as private as the device and browser session used to create it.
Browser processing is not the same as a promise that every surrounding website, browser extension, operating system, or shared computer is private. Use a trusted device, close the tab after sensitive work, and avoid public computers for confidential material. Do not select files that you do not own or have permission to edit. If your organization requires a documented data-processing agreement, retention policy, or audit trail, use an approved internal workflow instead of relying only on a public browser tool.
Quality and compatibility notes
The generator intentionally uses conservative heading detection. It does not render every Markdown extension, infer headings from bold text, inspect HTML heading elements, or guarantee that custom slug rules match your publishing platform. Headings inside fenced code blocks are ignored, but unusual fence nesting or generated HTML may require a manual check. Review punctuation, duplicate headings, and link targets before publishing.
A successful download only means that the browser created a result; it is not a guarantee that every target application will accept or display it exactly as expected. Open the result in the application, website, or device where it will be used. When accuracy matters, compare the source and output side by side and keep the source as the recoverable master.