Rules / Format and vendor rules
trailing-whitespace
Lines end in spaces or tabs that change nothing when rendered.
Source: spec.commonmark.org (spec.commonmark.org), read 14 October 2026.
On GitHub: the rule doc and the tests.
All rules73
What it catches#
Lines end in spaces or tabs that change nothing when rendered.
Lines that end in spaces or tabs that do nothing when the markdown is rendered. Runs that could be a hard line break (two or more spaces before a non-blank line), whitespace after a backslash, fenced code, frontmatter, lines indented four or more columns (they can be code), and the inside of <pre>, <textarea>, <script> and <style> are left alone. The finding points at the first such line and counts the rest. It is a note; with --format github notes are not annotated unless you pass --annotate-notes.
Why it matters#
Trailing spaces and tabs are invisible and do nothing outside a hard line break, but editors that trim them on save turn them into diff noise. Two spaces that may be a hard line break, code and frontmatter are left alone.
Bad example#
Run the tests before you commit.···
Use pnpm, not npm.→
(· is a space, → a tab.) Nobody sees them, and the next editor that trims on save turns a one-line change into a diff of every line that had them.
Good example#
Run the tests before you commit.
Use pnpm, not npm.
How to fix#
Delete the trailing spaces and tabs. asitis lint --fix-preview=safe prints a diff that does only that, and git apply takes it. Most editors can trim trailing whitespace on save for markdown files.
asitis can make this edit for you. asitis lint --fix-preview prints a unified diff that git apply accepts, and the suggest_fixes MCP tool returns the same diff; nothing is written to disk by either. The fix for this rule is marked safe: it does not change what the file says.
Suppress or configure#
For one finding, put a comment on the line above it. The reason after -- is optional but worth writing:
<!-- asitis-disable-next-line trailing-whitespace -- why this one is fine -->
For a whole file:
<!-- asitis-disable-file trailing-whitespace -- why this file is an exception -->
For every file, turn it off or change its severity in .asitisrc.json:
{ "rules": { "trailing-whitespace": "off" } }
A .asitisrc.json overrides entry limits a change to some paths, and a baseline (asitis lint --format json --write-baseline) accepts today's findings so only new ones fail the build.
Source#
spec.commonmark.org, read on 14 October 2026.
Related guides
Run the rule
- In your browser, on one file
- In Claude Code, on the project
- In CI, on every pull request
This page is generated from the plugin's rule registry. Edit it on GitHub. False positive? Open an issue with the line it fired on.