deadhead
element/big

big element

big is obsolete: it only makes text one size larger, with no meaning attached. Use CSS font-size, or the element that says why the text matters.

  • Avoid
  • Deprecated
Severity
DeprecatedFormally obsolete, but inert.
Basis
Obsoleted by the specA standard defined it, then removed it.
Detectable
YesMatched exactly. Autofixable when the rule carries a fix.
Matches
bigElement rule, inside <body>.
Fix
None — reports only
Impacts
Maintainability and Accessibility
Related
element/font, element/basefont

<big>Sale ends Friday</big> makes those words bigger than the text around them, and that is all it does. It dates from when HTML was also the styling language. It still works, which is exactly why it survives: it looks like it’s doing something useful, while telling a browser, a screen reader and a search engine nothing about why the text is bigger.

Why avoid

It is obsolete and non-conforming. The HTML Standard lists big among the elements that “are entirely obsolete, and must not be used by authors”, with font, center and tt, and the instruction “Use appropriate elements or CSS instead.”

Its only behaviour is a font size. The Standard’s rendering section gives it one rule, big { font-size: larger; }: one step up from the surrounding text, capped at the browser’s largest size, as MDN puts it. Nothing else comes with it. It has no semantics and no role, just the plain HTMLElement interface. So the reason the author made the text bigger (a heading, a warning, a highlight) reaches sighted readers and no one else.

The Standard spells out what those reasons should be instead: “if the big element is being used to denote a heading, consider using the h1 element; if it is being used for marking up important passages, consider the strong element; and if it is being used for highlighting text for reference purposes, consider the mark element.”

Its size isn’t one you choose, either. larger is relative to whatever contains it and compounds when nested, so <big><big> inside a small caption and inside a hero render at different sizes, and neither is a value from your type scale.

Use instead

Put the size in CSS, and the meaning in the element:

.lead { font-size: 1.25rem; }
<p class="lead">An introductory paragraph.</p>
<p><strong>Back up your data before upgrading.</strong></p>

<small> is not the obsolete counterpart of <big>. It is a current element for side comments and small print, and it stays.

Detectability

Fully detectable by tag name. There is no autofix: big still changes how text renders, so removing it or unwrapping its content would visibly change the page.

Resources

This page is generated from content/rules/element/big.md, the same file the linter is built from. Think the rule is wrong, or that browsers moved on? Say so — that is the most useful issue you can file.