What is smooshcase?

smooshcase is the unofficial name for the practice of writing multi-word HTML attribute names in a single, unbroken string of lowercase letters. Classic examples include tabindex, autocomplete, and contenteditable. There are no dashes, no underscores, no capitalization—just a smooth, smooshed-together sequence of characters that flows in true HTML spirit.

Unlike camelCase, which tries to visually separate words with capital letters (e.g., tabIndex, autoComplete), smooshcase doesn’t try to be clever. It’s brutally simple. It honors HTML’s case-insensitive nature, reflects its origins in SGML where syntax was forgiving and friendly, and prevents bugs that arise when accidentally mis-capitalizing attributes (like writing autoComplete in HTML and wondering why it doesn’t work).

It shines in contexts where minimalism, readability, and historical correctness matter—especially in raw HTML or templating systems that strive for purity. It keeps markup feeling like markup, not JavaScript. camelCase is for logic; smooshcase is for structure.

There once was a dev in a chase,
For the cleanest of markup with grace.
camelCase? Not for me —
In my tags I decree:
smooshcase shall win every place!