MD010 - Use spaces instead of tabs¶
Aliases: no-hard-tabs
What this rule does¶
Replaces tab characters with spaces to ensure consistent indentation across all editors and platforms.
Why this matters¶
- Consistency: Tabs display differently in different editors (2, 4, or 8 spaces wide)
- Team collaboration: Mixed tabs and spaces create confusing indentation and merge conflicts
- Tool compatibility: Many Markdown tools and platforms expect spaces for proper formatting
- Readability: Consistent spacing makes documents easier to read and maintain
Examples¶
β Correct¶
* Shopping list
* Fruits
* Apples
* Bananas
* Vegetables
* Carrots
* Broccoli
Remember to check for freshness!
β Incorrect¶
βrepresents a hard tab character.
* Shopping list
β* Fruits
ββ* Apples
ββ* Bananas
β* Vegetables
ββ* Carrots
ββ* Broccoli
βRemember to check for freshness!
π§ Fixed¶
* Shopping list
* Fruits
* Apples
* Bananas
* Vegetables
* Carrots
* Broccoli
Remember to check for freshness!
Configuration¶
[MD010]
spaces-per-tab = 4 # Number of spaces to replace each tab with (default: 4)
code-blocks = false # Skip tabs inside code blocks (default: false)
Configuration options explained¶
spaces-per-tab: How many spaces to use when replacing each tab character.code-blocks: Whenfalse(default), hard tabs inside fenced and indented code blocks are skipped - tabs are often required there (Makefiles, Go) and rewriting them would corrupt examples. Set totruefor markdownlint-parity behavior that flags tabs everywhere, including code blocks.
Behavior change: Earlier versions skipped tabs in fenced code blocks while still flagging indented ones. MD010 now treats both code-block types consistently and, by default, does not flag tabs in either. Note that a document whose content starts with a tab-indented line is a CommonMark indented code block, so leading tabs there are no longer flagged by default. Set
code-blocks = trueto flag tabs in all code blocks.
Automatic fixes¶
This rule automatically replaces each tab character with the configured number of spaces (default: 4). This ensures your document looks the same in every editor.
Learn more¶
- CommonMark specification - Technical details about tab handling