
normalize.css
A small CSS file that makes browsers display basic HTML elements more consistently.
- Stars
- 53.5k
- Forks
- 10.3k
- Licence
- MIT
- Language
- CSS
- Last update
- 2.4 years ago
- Type
- Library
No commits in over a year — check for forks or alternatives before adopting.
What it is
normalize.css is a stylesheet you include in a web page to smooth out differences between web browsers. Unlike older resets that strip out default styles entirely, it keeps useful defaults and only fixes inconsistencies and bugs across elements. It is installed through npm or loaded from a CDN or download link.
- Add it to a page so headings, lists, forms and tables start from a more uniform baseline
- Install it with npm and import it into a build pipeline
- Link the CDN or downloaded file directly in a static HTML page
Great for
- Front-end developers who want a consistent starting point across browsers
- Teams building sites that must look similar in several browsers
- Projects that prefer keeping useful default browser styles rather than removing them
Not ideal for
- Projects that need support for very old browsers, since the README lists only Internet Explorer 10+ and recent Chrome, Edge, Firefox ESR, Safari 8+ and Opera
- Developers who want a full, opinionated design system, because it only normalizes base element styles
How to get it
- 1
Install with a package manager
You'll need: Node.js and npm, only if installing via npm
Install via npm
npm install --save normalize.css - 2
Run it
- Install the package with npm, or use the CDN or download link from the README
- Include normalize.css in your page's stylesheet, before your own styles
- Load the page in a browser and check that element styles look consistent
- 3
Get the most out of it
- Read the Extended details section to understand special cases such as select, number inputs and search inputs
- Use the detailed comments in the CSS file to see why each rule exists before changing anything
- Place normalize.css before your own CSS so your overrides take precedence
Downloads
Strengths
- Keeps useful browser defaults instead of erasing them
- Documents the reason behind each rule in detailed comments
- Has a long track record, with a very large number of GitHub stars
Trade-offs
- The README does not describe how to customize it beyond editing the file, so the approach is fairly fixed
- Some form elements, such as search inputs and checkboxes, still have browser-specific limits noted in the README
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| normalize.css (this) | 53.5k | Library | beginner | 2.4 years ago | Front-end developers who want a consistent starting point across browsers |
| bootstrap | 175k | Library | beginner | 4 days ago | Developers building responsive websites or web app interfaces quickly |
| tailwindcss | 98.3k | Library | intermediate | 4 days ago | Web developers who build their own interfaces and want to avoid writing large custom stylesheets |
| anime | 74.2k | Library | beginner | 3 months ago | Front-end developers adding motion to websites or web apps |
| bulma | 50k | Library | beginner | 2 months ago | Developers who want a quick, consistent styling baseline for a web page |
| AdminLTE | 45.7k | Library | beginner | 5 days ago | Developers building an internal admin panel or back-office tool quickly |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.