Markdown Heading IDs

Last updated: 2026-10-14

Heading IDs Common extension

An extension. Append {#custom-id} to a heading to set the anchor, then link within the page via [text](#custom-id). The infrastructure for TOCs, FAQ back-links and cross references.

GroupGFM Extensions
Spec levelCommon extension
Spec versionCommonMark 0.31.2 + GFM

📝 Syntax

## Heading {#anchor}

[link text](#anchor)

▶ Live Example

Edit Markdown on the left, see the result on the right

💡 Key points

ℹ️ Note Without {#id}, renderers slugify the heading text — rules vary for CJK, so set explicit ids in long docs.
⚠️ Warning GitHub ignores {#id} syntax but still auto-generates anchors from heading text.

❓ FAQ

Q How are anchors auto-generated?
A Lowercase, spaces to hyphens, punctuation stripped; CJK rules vary by renderer.
Q Is it supported on this site?
A Tutorial pages get auto anchors from the builder; markdown-it-anchor is optional.
Q Can jumps scroll smoothly?
A Add CSS scroll-behavior: smooth — nothing needed at the Markdown layer.

📚 See also

HeadingsCommonMark core
Web-Tutorial.com

Web-Tutorial Tech Team

A team of developers maintaining programming tutorials. Each tutorial is written and reviewed by developers with expertise in that field. We work to keep our content accurate and reliable — if you spot an issue, please let us know.

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏