csstools/normalize.css

A cross-browser CSS foundation

656

stars

381

commits

HTML

primary language

Mar 26, 2026

updated

csstools.github.io/normalize.css
css
normalization
Browse cluster: PostCSS and CSS Tooling Ecosystem

README

@csstools/normalize.css normalize

@csstools/normalize.css is a CSS library that provides consistent, cross-browser default styling of HTML elements.

Usage

<link href="https://unpkg.com/@csstools/normalize.css" rel="stylesheet" />

Install

npm install @csstools/normalize.css --save

Webpack Usage

Import @csstools/normalize.css in CSS:

@import '~@csstools/normalize.css';

Alternatively, import @csstools/normalize.css in JS:

import '@csstools/normalize.css';

In webpack.config.js, use the appropriate loaders:

module.exports = {
  module: {
    rules: [
      {
        test: /\.css$/,
        use: [ 'style-loader', 'css-loader' ]
      }
    ]
  }
}

Download

See https://csstools.github.io/normalize.css/latest/normalize.css

What does it do?

  • Normalizes styles for a wide range of elements.
  • Corrects bugs and common browser inconsistencies.
  • Explains what code does using detailed comments.

Browser support

  • Chrome (last 3)
  • Edge (last 3)
  • Firefox (last 3)
  • Firefox ESR
  • Opera (last 3)
  • Safari (last 2)
  • iOS Safari (last 2)

Contributing

Please read the contribution guidelines in order to make the contribution process easy and effective for everyone involved.

Similar Projects

  • modern-normalize.css - An alternative to normalize.css, adhering to a minimal set of normalizations and common developer expectations and preferences.
  • opinionate.css - A supplement to normalize.css with opinionated rules.
  • remedy.css - An alternative to normalize.css, adhering to different common developer expectations and preferences.
  • sanitize.css - An alternative to normalize.css, adhering to common developer expectations and preferences.

Differences from necolas/normalize.css

Nicolas Gallagher and I started writing normalize.css together. I named and created the normalize.css repository with the help of Paul Irish and Ben Alman. I transferred the repository to Nicolas, who turned it into a “household” CSS library.

Later, I resumed authorship of normalize.css with Luciano Battagliero. Together, we tagged, deprecated, and removed “opinionated” styles — styles developers often prefer but which do not fix bugs or “normalize” browser differences.

Later, Nicolas resumed authorship and the issue of whether to include or omit the opinionated styles forced us to split.

I continue working on the normalize.css project, currently under the “csstools” tag. I hope one day our differences are resolved and the projects are one again.

Acknowledgements

normalize.css is a project by Jonathan Neal, co-created with Nicolas Gallagher.

Contributors

(top 30 of 40)

necolas

195 commits

jonathantneal

124 commits

battaglr

10 commits

romainmenke

8 commits

csstools/normalize.css

A cross-browser CSS foundation

656

stars

381

commits

HTML

primary language

Mar 26, 2026

updated

csstools.github.io/normalize.css
css
normalization
Browse cluster: PostCSS and CSS Tooling Ecosystem

README

@csstools/normalize.css normalize

@csstools/normalize.css is a CSS library that provides consistent, cross-browser default styling of HTML elements.

Usage

<link href="https://unpkg.com/@csstools/normalize.css" rel="stylesheet" />

Install

npm install @csstools/normalize.css --save

Webpack Usage

Import @csstools/normalize.css in CSS:

@import '~@csstools/normalize.css';

Alternatively, import @csstools/normalize.css in JS:

import '@csstools/normalize.css';

In webpack.config.js, use the appropriate loaders:

module.exports = {
  module: {
    rules: [
      {
        test: /\.css$/,
        use: [ 'style-loader', 'css-loader' ]
      }
    ]
  }
}

Download

See https://csstools.github.io/normalize.css/latest/normalize.css

What does it do?

  • Normalizes styles for a wide range of elements.
  • Corrects bugs and common browser inconsistencies.
  • Explains what code does using detailed comments.

Browser support

  • Chrome (last 3)
  • Edge (last 3)
  • Firefox (last 3)
  • Firefox ESR
  • Opera (last 3)
  • Safari (last 2)
  • iOS Safari (last 2)

Contributing

Please read the contribution guidelines in order to make the contribution process easy and effective for everyone involved.

Similar Projects

  • modern-normalize.css - An alternative to normalize.css, adhering to a minimal set of normalizations and common developer expectations and preferences.
  • opinionate.css - A supplement to normalize.css with opinionated rules.
  • remedy.css - An alternative to normalize.css, adhering to different common developer expectations and preferences.
  • sanitize.css - An alternative to normalize.css, adhering to common developer expectations and preferences.

Differences from necolas/normalize.css

Nicolas Gallagher and I started writing normalize.css together. I named and created the normalize.css repository with the help of Paul Irish and Ben Alman. I transferred the repository to Nicolas, who turned it into a “household” CSS library.

Later, I resumed authorship of normalize.css with Luciano Battagliero. Together, we tagged, deprecated, and removed “opinionated” styles — styles developers often prefer but which do not fix bugs or “normalize” browser differences.

Later, Nicolas resumed authorship and the issue of whether to include or omit the opinionated styles forced us to split.

I continue working on the normalize.css project, currently under the “csstools” tag. I hope one day our differences are resolved and the projects are one again.

Acknowledgements

normalize.css is a project by Jonathan Neal, co-created with Nicolas Gallagher.

Contributors

(top 30 of 40)

necolas

195 commits

jonathantneal

124 commits

battaglr

10 commits

romainmenke

8 commits

Languages

HTML

70.8%

CSS

29.2%