All rules

Title or heading too long

title-lengthon by default (info)Japanese / English

A title or heading too long to take in at a glance

Example

Flagged
## What every store needs to do during the move to the new inventory system in the 2025 financial year
What chaff prints
1:1 The heading "What every store needs to do during the move to the new inventory system in the 2025 financial year" runs 19 words (limit 14)
Fixed
## Moving to the new inventory system What every store does during the move in the 2025 financial year.
What chaff prints
no finding
chaff.yaml used for this example
genre: blog/tech

How to fix

Keep only the name in the heading and move conditions and explanations into the first sentence below it. Put a bracketed aside (a date, an audience, a version) in a subtitle or the text. An official title with an identifier, a case number or the bodies concerned (CA 23-6: …) is cited in that form: keep it, and put the point in the first sentence under it.

Why it matters

Readers scan titles and headings to decide what to read. A long one cannot be taken in at a glance, and tables of contents and search results cut it off. English is counted in words. Reports, press releases, minutes, specifications and papers carry long formal titles, so their limit is higher.

What it does not flag

A number label at the head of a heading (Chapter 2, 1.) is not counted. Nor is a numbered series label in brackets at its end (“(490: Employee travel)”), and another document's title quoted in 「」 counts as one name. Reports, press releases, minutes, specifications and papers have a higher limit; legal, literary and speech genres, and FAQs (whose headings are questions), do not run this rule. In any genre, a heading that ends with a question mark is not counted, since its length is the reader's question.

Turning it off or relaxing it

Silence this one spot (in the document)
<!-- stet: title-length — reason -->
Relax it for the team (the reason is kept as a comment in chaff.yaml)
npx chaffjs relax title-length --why "reason"
Turn it off for the team (chaff.yaml)
rules: title-length: off
Technical details
Layer
L1
Status
stable
Severity
info
Languages
Japanese and English
Suited to
blog, business, technical, docs, academic, legal, literature, speech
Reads from the document
markdown

Levels

Set a level for this rule under rules in chaff.yaml. With nothing set, it runs at the level its genre gives it (see By genre below).

strictreported when a title or heading runs past 10 words
normalreported when a title or heading runs past 14 words
relaxedreported when a title or heading runs past 18 words

These genres set their own numbers for the levels (npx chaffjs explain shows them): business/report, business/press-release, business/meeting-notes, technical/spec, academic

By genre

Runs by default in
technical/spec, technical/readme, blog/tech, blog/essay, blog/owned-media, business/proposal, business/report, business/email, business/press-release, business/meeting-notes, docs/manual, docs/glossary, academic/paper
Turned off by the genre in
legal/contract, legal/statute, legal/judgment, legal/patent, docs/faq, literature/fiction, literature/essay, literature/poetry, literature/play, speech/address, speech/transcript

Genres

Message

The heading "{heading}" runs {count} words (limit {limit})

The title "{heading}" runs {count} words (limit {limit})

"{heading}" runs {count} words (limit {limit}). It is an official title with an identifier, a number or the bodies concerned: keep it as cited and put a short summary in the first sentence under it

Rewrite depth (chaff fix-plan --depth): light — words and sentences; the structure and the voice stay

This page is built from the rule's definition file:packages/chaff/rules/title-length.yaml