Skip to content

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
Step-by-step guide: how to use normalize.cssInstall, first run, examples, tips and FAQs

How to get it

  1. 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. 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. 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

ProjectStarsTypeLevelUpdatedBest for
normalize.css (this)53.5kLibrarybeginner2.4 years agoFront-end developers who want a consistent starting point across browsers
bootstrap175kLibrarybeginner4 days agoDevelopers building responsive websites or web app interfaces quickly
tailwindcss98.3kLibraryintermediate4 days agoWeb developers who build their own interfaces and want to avoid writing large custom stylesheets
anime74.2kLibrarybeginner3 months agoFront-end developers adding motion to websites or web apps
bulma50kLibrarybeginner2 months agoDevelopers who want a quick, consistent styling baseline for a web page
AdminLTE45.7kLibrarybeginner5 days agoDevelopers 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.