Prettier
An opinionated code formatter — automatically formats JS, TS, CSS, JSON, Markdown, and more. Removes formatting debates by enforcing a consistent style. Integrates with editors (format on save) and CI. The standard formatter for web projects.
James Long · Created Prettier in 2017
- Every project (pairs with ESLint).
- Teams wanting consistent formatting.
- Format on save workflows.
- When you want zero formatting debates.
- When you need a linter (use ESLint too).
- When you want maximal formatting control.
Definition
Prettier parses code and reprints it with consistent formatting — indentation, quotes, line width, semicolons, trailing commas. Configurable via .prettierrc. Integrates with ESLint (eslint-config-prettier disables conflicting rules). Format on save in editors.
Why it exists
Formatting debates waste time. Prettier eliminates them by enforcing one consistent style — no more arguments about tabs vs spaces or semicolons.
How it works
npm install prettier. .prettierrc configures options. npx prettier --write . formats all files. Editor extensions format on save. eslint-config-prettier disables conflicting ESLint rules. CI checks formatting.
Scaling limits
Very opinionated (limited configurability). Can fight with ESLint (use eslint-config-prettier). Not a linter (doesn't catch bugs, only formats).
Cost shape
Free and open source.
Alternatives
- Biome — Faster, all-in-one, less mature.
- EditorConfig — Basic formatting, less opinionated.
- dprint — Faster, less ecosystem.
Failure modes
- Opinionated (no choice).
- ESLint conflicts.
- Not a bug-catcher.