Modernizr jest biblioteką JavaScript, open source, na licencji MIT, która wykrywa wsparcie dla wielu elementów HTML5 oraz CSS3. Modernizr dodaje klasy do elementów HTML, które pozwalają na ścisłe określenie możliwości przeglądarki. Nie trzeba pisać żadnego JavaScript-u, aby go używać. Modernizr dodaje także obsługę stylowania i drukowania elementów HTML5. Pozwala to na stosowanie większej semantyczności, używanie elementów takich jak <section>, <header> czy <dialog> oraz wielu innych,  nie martwiąc się o nie i ich działanie w Internet Explorer czy starszych wersjach innych przeglądarek.

Ważne! Modernizr nie dodaje funkcjonalności do przeglądarki, zamiast tego wykrywa dostępność funkcji i oferuje sposób na utrzymanie porządku i kontroli nad witryną, niezależnie od możliwości przeglądarki.Aby użyć Modernizr dodaj poniższy kod na początku swojej strony oraz dodaj klasę ‚no-js’ do elementu <html>

<!DOCTYPE html>
<html class="no-js">
<head>
  <meta charset="utf-8">
  <title>Dive Into HTML5</title>
  <script src="modernizr.min.js"></script>
</head>
<body>
  ...
</body>
</html>

Modernizr działa automatycznie. Gdy działa, tworzy globalny obiekt Modernizr, który zawiera ustawienia każdej funkcji którą potrafi wykryć. dla przykładu, gdy przeglądarka wspiera canvas API, właściwość  Modernizr.canvas jest ustawiona na true. Jeżeli Twoja przeglądarka nie obsługuje go, własność właściwość  Modernizr.canvas jest ustawiona na false.

if (Modernizr.canvas) {
  // let's draw some shapes!
} else {
  // no native canvas support available :(
}