CINXE.COM
Overview - Chrome Developers
<!DOCTYPE html><html lang="en"><head><script type="text/javascript" src="/_static/js/bundle-playback.js?v=HxkREWBo" charset="utf-8"></script> <script type="text/javascript" src="/_static/js/wombat.js?v=txqj7nKC" charset="utf-8"></script> <script>window.RufflePlayer=window.RufflePlayer||{};window.RufflePlayer.config={"autoplay":"on","unmuteOverlay":"hidden"};</script> <script type="text/javascript" src="/_static/js/ruffle/ruffle.js"></script> <script type="text/javascript"> __wm.init("http://web.archive.org/web"); __wm.wombat("https://developer.chrome.com/docs/lighthouse/overview/","20221005022630","http://web.archive.org/","web","/_static/", "1664936790"); </script> <link rel="stylesheet" type="text/css" href="/_static/css/banner-styles.css?v=S1zqJCYt" /> <link rel="stylesheet" type="text/css" href="/_static/css/iconochive.css?v=3PDvdIFv" /> <!-- End Wayback Rewrite JS Include --> <meta charset="UTF-8"><meta content="width=device-width,initial-scale=1" name="viewport"><title>Overview - Chrome Developers</title><link href="http://web.archive.org/web/20221005022630/https://developer.chrome.com/docs/lighthouse/overview/" rel="canonical"><meta content="Chrome Developers" property="og:site_name"><meta content="Overview - Chrome Developers" property="og:title"><meta content="website" property="og:type"><meta content="http://web.archive.org/web/20221005022630/https://developer.chrome.com/docs/lighthouse/overview/" property="og:url"><meta content="summary_large_image" name="twitter:card"><meta content="http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/foR0vJZKULb5AGJExlazy1xYDgI2/xvNiBdV0ZwwLUE4SEdbf.png?auto=format&w=1521" property="og:image"><meta content="http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/foR0vJZKULb5AGJExlazy1xYDgI2/xvNiBdV0ZwwLUE4SEdbf.png?auto=format&w=1521" name="twitter:image"><meta content="Learn how to set up Lighthouse to audit your web apps. " name="description"><meta content="Learn how to set up Lighthouse to audit your web apps. " name="twitter:description"><meta content="Learn how to set up Lighthouse to audit your web apps. " property="og:description"><link href="/web/20221005022630im_/https://developer.chrome.com/images/meta/apple-touch-icon.png" rel="apple-touch-icon" sizes="180x180"><link href="/web/20221005022630im_/https://developer.chrome.com/images/meta/favicon-32x32.png" rel="icon" sizes="32x32" type="image/png"><link href="/web/20221005022630im_/https://developer.chrome.com/images/meta/favicon-16x16.png" rel="icon" sizes="16x16" type="image/png"><meta content="#ffffff" name="theme-color"><link href="http://web.archive.org/web/20221005022630/https://developer.chrome.com/feeds/blog.xml" rel="alternate" type="application/rss+xml" title="Chrome Developers"><link href="/web/20221005022630/https://developer.chrome.com/fonts/google-sans-v2003/regular/latin.woff2" rel="preload" as="font" crossorigin><link href="/web/20221005022630/https://developer.chrome.com/fonts/google-sans-v2003/medium/latin.woff2" rel="preload" as="font" crossorigin><script src="/web/20221005022630jm_/https://developer.chrome.com/js/main.js?v=e24f6804" type="module"></script><script src="http://web.archive.org/web/20221005022630js_/https://www.google-analytics.com/analytics.js" async></script><script>!function(){window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)},ga.l=+new Date,ga("create","UA-41980257-1"),ga("set","transport","beacon"),ga("set","page",window.location.pathname),ga("set","dimension1","3.0"),ga("send","pageview");try{const e="http://web.archive.org/web/20221005022630/https://policies.google.com/technologies/cookies";localStorage.getItem("user-cookies")===e&&document.documentElement.setAttribute("data-cookies-accepted","")}catch(e){}try{const e="http://web.archive.org/web/20221005022630/https://pwasummit.org/register";localStorage.getItem("user-banner")===e&&document.documentElement.setAttribute("data-banner-dismissed","")}catch(e){}}();</script><style>@charset "UTF-8";@keyframes rainbow{0%,to{background:violet}25%{background:orange}50%{background:#ff0}75%{background:#00f}}.align-start{align-items:start}.align-center{align-items:center}.decoration-none{text-decoration:none}.direction-column{flex-direction:column}.display-block{display:block}.display-inline-block{display:inline-block}.display-flex{display:flex}.display-inline-flex{display:inline-flex}.display-grid{display:grid}.display-none{display:none}.flow-space-200,.type--caption+pre[class*=language-]{--flow-space: 0.5rem}.flow-space-300{--flow-space: 1rem}.flex-1{flex:1}.flex-shrink-none{flex-shrink:0}.gap-top-300{margin-top:1rem}.gap-top-500{margin-top:2rem}.gap-top-1000{margin-top:4.5rem}.gap-bottom-0{margin-bottom:0}.gap-bottom-300{margin-bottom:1rem}.gap-left-200{margin-left:.5rem}.gap-left-400{margin-left:1.5rem}.height-700{height:3rem}.justify-content-between{justify-content:space-between}.justify-content-center{justify-content:center}.measure-long{max-width:748px}.overflow-hidden{overflow:hidden}.pad-0{padding:0}.pad-200,top-nav{padding:.5rem}.pad-top-300{padding-top:1rem}.pad-top-600{padding-top:2.5rem}.pad-right-200{padding-right:.5rem}.pad-right-400{padding-right:1.5rem}.pad-bottom-300{padding-bottom:1rem}.pad-bottom-600{padding-bottom:2.5rem}.pad-left-200{padding-left:.5rem}.pad-left-400{padding-left:1.5rem}.user-select-none{user-select:none}.width-700{width:3rem}.width-full,side-nav navigation-tree,video{width:100%}@media screen and (min-width:992px){.lg\:align-center{align-items:center}.lg\:direction-row{flex-direction:row}.lg\:display-flex{display:flex}.lg\:display-none{display:none}.lg\:flow-space-500{--flow-space: 2rem}.lg\:gap-top-0{margin-top:0}.lg\:gap-top-400{margin-top:1.5rem}.lg\:gap-left-400{margin-left:1.5rem}.lg\:gap-left-500{margin-left:2rem}.lg\:pad-top-200{padding-top:.5rem}.lg\:pad-right-0{padding-right:0}.lg\:pad-right-200{padding-right:.5rem}.lg\:pad-right-600{padding-right:2.5rem}.lg\:pad-left-0{padding-left:0}.lg\:pad-left-200{padding-left:.5rem}.lg\:pad-left-600{padding-left:2.5rem}}@media screen and (min-width:1440px){.xl\:display-block{display:block}.xl\:display-none{display:none}}.navigation-tree__title{font-family:"Google Sans",sans-serif;font-size:1.125rem;line-height:1.5}.navigation-rail__link,.navigation-tree__link{border-radius:0 100px 100px 0;display:flex;padding:.375rem .5rem .375rem 0;text-align:left;text-decoration:none;user-select:none}.navigation-tree__link{color:var(--color-text)}.navigation-rail__link{align-items:center}.navigation-rail__link:hover,.navigation-tree__link:hover{background:var(--color-side-nav-hover)}.navigation-rail__link:focus,.navigation-tree__link:focus{z-index:1}.navigation-tree__link>:last-child{margin-left:2rem}.navigation-rail__icon{align-items:center;display:flex;justify-content:center;position:absolute}.navigation-rail__icon::before{content:""}.navigation-rail__icon>svg{min-width:24px;transition:transform .2s}[data-state=active].navigation-rail__link,[data-state=active].navigation-tree__link{background:var(--color-secondary);color:var(--color-side-nav-active)}.footer__link,.material-button,.search-box__link,.skip-link,.surface{overflow:hidden;position:relative}.footer__link::before,.material-button::before,.search-box__link::before,.skip-link::before,.surface::before{background-color:var(--overlay-background-color, currentColor);border-radius:2px;content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:.2s opacity;width:100%}.footer__link:hover::before,.material-button:hover::before,.search-box__link:hover::before,.skip-link:hover::before,.surface:hover::before{opacity:.08}.footer__link:focus-within::before,.material-button:focus-within::before,.search-box__link:focus-within::before,.skip-link:focus-within::before,.surface:focus-within::before{opacity:.12}.button-filled:hover::before,.footer__link:active::before,.material-button:active::before,.search-box__link:active::before,.skip-link:active::before,.surface:active::before{opacity:.16}.link,a:not([class]){color:var(--link-color, var(--color-primary))}.link:not(.no-visited):visited,a:not(.no-visited):visited:not([class]){color:var(--link-visited-color, var(--color-link-default-visited))}.link:hover,a:hover:not([class]){background-color:rgba(var(--link-rgb-background, var(--rgb-primary)),.08)}.link:not(.no-visited):visited:hover,a:not(.no-visited):visited:hover:not([class]){background-color:rgba(var(--link-rgb-background, var(--rgb-link-default-visited)),.08)}.link:focus,.link:focus-within,a:focus-within:not([class]),a:focus:not([class]){background-color:rgba(var(--link-rgb-background, var(--rgb-primary)),.12)}.link:active,a:active:not([class]){background-color:rgba(var(--link-rgb-background, var(--rgb-primary)),.16)}.aside__label>span,.type h1:not([class^=type--var]),.type h2:not([class^=type--var]),.type h3:not([class^=type--var]),.type h4:not([class^=type--var]),.type--footer,.type--h2,.type--h6{font-family:"Google Sans",sans-serif;font-weight:400;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizeSpeed}.type h1:not([class^=type--var]),.type--h2{font-size:2.5rem;line-height:1.2}@supports (font-size:clamp(1.75em,4.6875vw,3em)){.type h1:not([class^=type--var]),.type--h2{font-size:clamp(1.75em,4.6875vw,3em);line-height:1.1666666667}}.type h2:not([class^=type--var]){font-size:2rem;line-height:1.25}@supports (font-size:clamp(1.5em,3.515625vw,2.25em)){.type h2:not([class^=type--var]){font-size:clamp(1.5em,3.515625vw,2.25em);line-height:1.2222222222}}.type h3:not([class^=type--var]){font-size:1.75rem;line-height:1.2857142857}@supports (font-size:clamp(1.125em,2.734375vw,1.75em)){.type h3:not([class^=type--var]){font-size:clamp(1.125em,2.734375vw,1.75em);line-height:1.2857142857}}.type h4:not([class^=type--var]){font-size:1.25rem;line-height:1.4}@supports (font-size:clamp(1em,1.953125vw,1.25em)){.type h4:not([class^=type--var]){font-size:clamp(1em,1.953125vw,1.25em);line-height:1.4}}.type--h6{font-weight:500;font-size:1rem;line-height:1.75}@supports (font-size:clamp(.875em,1.5625vw,1em)){.type--h6{font-size:clamp(.875em,1.5625vw,1em);line-height:1.75}}.aside__label>span,.type--footer{font-weight:500;font-size:1rem;line-height:1.75}.banner,.material-button,.skip-link,.toc__wrapper a,.type,.type figcaption,.type ol:not([class])>li::before,.type--caption,.type--label,.type--small,:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Open Sans","Helvetica Neue",sans-serif;font-weight:400;font-size:1rem;line-height:1.75;text-rendering:optimizeSpeed}.banner,.material-button,.skip-link,.toc__wrapper a,.type--small{font-size:.875rem;line-height:1.4285714286}.type figcaption,.type ol:not([class])>li::before,.type--caption{font-size:.875rem;line-height:1.7142857143}.type--label{font-weight:500;font-size:.75rem;line-height:1.3333333333}.type ul:not([class]){list-style:none;margin-left:3rem;padding:0;position:relative}@media (min-width:992px){.type ul:not([class]){max-width:calc(100% - 6rem)}}.type ul:not([class])>li{margin-top:.5em}.type ol:not([class])>li:first-of-type,.type ul:not([class])>li:first-of-type{margin-top:0}.type ol:not([class])>li::before,.type ul:not([class])>li::before{border-radius:50%;display:inline-flex;margin-right:1rem;position:absolute}.type ul:not([class])>li::before{background:#5f6368;content:"";height:.5rem;margin-left:-1.5rem;transform:translateY(.625rem);width:.5rem}.type ol:not([class]){list-style:none;margin-left:3.5rem;padding:0;position:relative;counter-reset:ol-step-counter}@media (min-width:992px){.type ol:not([class]){max-width:calc(100% - 7rem)}}.type ol:not([class])>li{counter-increment:ol-step-counter;margin-top:.5em}.type ol:not([class])>li::before{background:#f1f3f4;content:counter(ol-step-counter);flex-shrink:0;height:1.5rem;justify-content:center;margin-left:-2.5rem;transform:translateY(.1875rem);width:1.5rem}.type code,.type pre{font-family:ui-monospace,Menlo,Consolas,Monaco,"Roboto Mono","Source Code Pro","Liberation Mono","Lucida Console",monospace;font-size:.9375em;line-height:1.7333333333}@font-face{font-display:swap;font-family:"Google Sans";font-style:normal;font-weight:400;src:url(/web/20221005022630im_/https://developer.chrome.com/fonts/google-sans-v2003/regular/cyrillic.woff2) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-display:swap;font-family:"Google Sans";font-style:normal;font-weight:400;src:url(/web/20221005022630im_/https://developer.chrome.com/fonts/google-sans-v2003/regular/greek.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-display:swap;font-family:"Google Sans";font-style:normal;font-weight:400;src:url(/web/20221005022630im_/https://developer.chrome.com/fonts/google-sans-v2003/regular/vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+1EA0-1EF9,U+20AB}@font-face{font-display:swap;font-family:"Google Sans";font-style:normal;font-weight:400;src:url(/web/20221005022630im_/https://developer.chrome.com/fonts/google-sans-v2003/regular/latin-ext.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-display:swap;font-family:"Google Sans";font-style:normal;font-weight:400;src:url(/web/20221005022630im_/https://developer.chrome.com/fonts/google-sans-v2003/regular/latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-display:swap;font-family:"Google Sans";font-style:normal;font-weight:500;src:url(/web/20221005022630im_/https://developer.chrome.com/fonts/google-sans-v2003/medium/cyrillic.woff2) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-display:swap;font-family:"Google Sans";font-style:normal;font-weight:500;src:url(/web/20221005022630im_/https://developer.chrome.com/fonts/google-sans-v2003/medium/greek.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-display:swap;font-family:"Google Sans";font-style:normal;font-weight:500;src:url(/web/20221005022630im_/https://developer.chrome.com/fonts/google-sans-v2003/medium/vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-display:swap;font-family:"Google Sans";font-style:normal;font-weight:500;src:url(/web/20221005022630im_/https://developer.chrome.com/fonts/google-sans-v2003/medium/latin-ext.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-display:swap;font-family:"Google Sans";font-style:normal;font-weight:500;src:url(/web/20221005022630im_/https://developer.chrome.com/fonts/google-sans-v2003/medium/latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-mode: "light";--color-bg: #fff;--color-bg-shade: #f1f3f4;--color-text: #202124;--color-secondary-text: #3c4043;--color-primary: #1a73e8;--rgb-primary: 26, 115, 232;--color-primary-shade: #1967d2;--color-secondary: #e8f0fe;--color-hairline: #dadce0;--color-footer-bg: #f8f9fa;--color-side-nav-hover: #f1f3f4;--color-side-nav-active: #1a73e8;--color-link-default-visited: #681da8;--rgb-link-default-visited: 103, 29, 168;--rgb-button-overlay: 60, 64, 67;--color-code-bg: #f8f9fa;--color-code-comment: #174ea6;--color-code-string: #174ea6;--color-code-tag: #1e8e3e;--color-code-number: #1967d2;--color-code-attr: #d01884;--color-code-highlight: #fde293;--color-code-add: #a8dab5;--color-code-remove: #f6aea9;--color-project-default: #1967d2;--color-project-handbook: #c5221f;--color-project-workbox: #fa903e;--color-project-lighthouse: #06f;--color-blue-lightest: rgba(232, 240, 254, 0.4);--color-blue-lighter: #d2e3fc;--color-blue-medium: #1967d2;--color-blue-darkest: #174ea6;--rgb-blue-darkest: 23, 78, 166;--color-yellow-lightest: rgba(254, 247, 224, 0.3);--color-yellow-lighter: #feefc3;--color-yellow-medium: #f29900;--color-yellow-darkest: #de7100;--rgb-yellow-darkest: 227, 117, 0;--color-red-lightest: rgba(252, 232, 230, 0.4);--color-red-lighter: rgba(252, 232, 230, 0.5);--color-red-medium: #c5221f;--color-red-darkest: #a50e0e;--rgb-red-darkest: 165, 14, 14;--color-green-lightest: rgba(230, 244, 234, 0.4);--color-green-lighter: #ceead6;--color-green-medium: #188038;--color-green-darkest: #0d652d;--rgb-green-darkest: 13, 101, 45;--color-purple-lightest: rgba(243, 232, 253, 0.4);--color-purple-lighter: rgba(243, 232, 253, 0.5);--color-purple-medium: #8430ce;--color-purple-darkest: #681da8;--rgb-purple-darkest: 104, 29, 168;--color-pink-lightest: rgba(253, 231, 243, 0.4);--color-pink-lighter: rgba(253, 231, 243, 0.5);--color-pink-medium: #d01884;--color-pink-darkest: #9c166b;--rgb-pink-darkest: 156, 22, 107;--color-cyan-lightest: rgba(228, 247, 251, 0.4);--color-cyan-lighter: rgba(228, 247, 251, 0.5);--color-cyan-medium: #129eaf;--color-cyan-darkest: #007b83;--rgb-cyan-darkest: 0, 122, 131;--flow-space: 2rem;font-size:100%}*,::after,::before{box-sizing:border-box}body,figure,h1,h2,h3,h4,p,pre{margin:0}body{min-height:100vh;background-color:var(--color-bg);color:var(--color-text);overflow-wrap:break-word;transition:background 500ms ease-in-out,color 200ms ease}ol[role=list],ul[role=list]{list-style:none}ol,ul{list-style-position:inside}a:not([class]){text-decoration-skip-ink:auto}img{display:block;height:auto;max-width:100%}li img,p img{display:inline-block;vertical-align:sub}button,input,select{font:inherit;letter-spacing:inherit;word-spacing:inherit}iframe{border:0}img:not([alt]){filter:blur(10px)}@media (prefers-reduced-motion:reduce){*{animation-duration:.01s!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01s!important}}.details>summary:focus,main:focus,navigation-tree:focus{outline:0}.details,.type{position:relative}.type pre code{font-size:inherit}.type figcaption{text-align:center}.details{border:1px solid var(--color-hairline);border-width:1px 0;padding:calc(var(--flow-space)/2) 0}.details>summary{cursor:pointer;list-style:none;-webkit-tap-highlight-color:transparent}.details>summary::-webkit-details-marker,.details>summary::marker{display:none}.details .heading-link{display:none}.button,.material-button,.search-box__btn,.skip-link{background:0 0;border:0;cursor:pointer;text-decoration:none}.button svg,.material-button svg,.search-box__btn svg,.skip-link svg{vertical-align:middle}.material-button,.skip-link{font-family:"Google Sans",sans-serif;border-radius:.25rem;color:var(--button-color, inherit);padding:.5rem 1.5rem;white-space:nowrap}.button-text{margin-left:-.5rem;margin-top:-.5rem;padding:.5rem}.button-text+.button-text{margin-left:1rem}.button-filled{position:relative;transition:box-shadow .1s;z-index:1}.button-filled::before{background:rgba(var(--rgb-button-overlay),1);border-radius:inherit;bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .1s;z-index:-1}.button-filled:hover{box-shadow:rgba(var(--rgb-button-overlay),.3) 0 1px 2px 0,rgba(var(--rgb-button-overlay),.15) 0 1px 3px 1px}.button-filled:active{box-shadow:rgba(var(--rgb-button-overlay),.3) 0 1px 2px 0,rgba(var(--rgb-button-overlay),.15) 0 2px 6px 2px}.button-filled:focus::before{opacity:.24}.button-filled:active::before{opacity:.36}.banner{background:var(--color-bg-shade);display:flex;justify-content:center;padding:1rem}.banner--info{--button-color: var(--color-blue-medium);background-color:var(--color-blue-lightest)}.banner__inner{max-width:748px;display:flex;flex-direction:column;justify-content:space-between;width:100%}@media (min-width:992px){.banner__inner{align-items:baseline;flex-direction:row}}.banner__text{max-width:65ch}.banner__actions{display:flex;justify-content:flex-end;margin-top:1rem;white-space:nowrap}@media (min-width:992px){.banner__actions{align-items:flex-end;margin-left:1rem;margin-top:0}}.banner__action{font-weight:500}.toc__wrapper li::before,[data-banner-dismissed] .banner,announcement-banner[hidden]{display:none}.icon{fill:currentColor}like-icon{height:20px}like-icon svg{color:#000;fill:none;height:20px;margin-top:-3px;vertical-align:middle;width:20px}like-icon .likes{display:inline-block;margin:0 .5em;width:3em}code,pre,pre[class*=language-]{background:var(--color-code-bg);border:1px solid var(--color-hairline);border-radius:3px}pre,pre[class*=language-]{color:var(--color-text);overflow:auto;padding:.5em}code{padding:.125em .25em}pre>code{background:initial;border:initial;border-radius:initial;padding:initial}.token.string{color:var(--color-code-string)}.token.property,.token.tag{color:var(--color-code-tag)}.token.boolean,.token.number{color:var(--color-code-number)}.token.important,.token.operator,.token.regex,.token.url{color:var(--color-code-attr)}.namespace{opacity:.7}.scaffold{display:grid;height:100vh;grid-template-columns:auto 1fr;grid-template-rows:auto 1fr auto;grid-template-areas:"header header" "sidebar main" "sidebar footer"}.scaffold>*{min-width:0}.scaffold>top-nav{grid-area:header}.scaffold>navigation-rail,.scaffold>side-nav{grid-area:sidebar}.scaffold>main{grid-area:main}.scaffold>footer{grid-area:footer}.search-box__results,.stack{display:flex;flex-direction:column;justify-content:flex-start;min-width:0}.search-box__results>*,.stack>*{margin-bottom:0;margin-top:0}.search-box__results>*+*,.stack>*+*{margin-top:var(--flow-space)}.stack--block{display:block}.stack-recursive *+*{margin-top:var(--flow-space)}.cluster{overflow:hidden}.cluster>*{display:flex;flex-wrap:wrap;margin:calc(var(--flow-space)/2*-1)}.cluster>*>*{margin:calc(var(--flow-space)/2)}.breadcrumbs{align-items:center;display:flex;flex-flow:row wrap;justify-content:center}.breadcrumbs>a,.breadcrumbs>svg{fill:var(--color-secondary-text);margin:0 var(--flow-space)}@media (min-width:992px){top-nav{padding:.625rem 1.5rem}}top-nav nav{gap:1rem;grid-template-columns:min-content auto min-content;position:relative}@media (min-width:992px){top-nav nav{gap:3.5rem;grid-template-columns:1fr 2fr 1fr}}@media (max-width:991px){top-nav[data-search-active] nav{grid-template-columns:1fr;padding:0 1.5rem}top-nav[data-search-active] .top-nav__hamburger,top-nav[data-search-active] .top-nav__logo{display:none}}top-nav[data-search-active] nav::before{z-index:20;margin-left:calc(50% - 50vw);width:100vw;background-color:var(--color-hairline);content:"";display:block;height:1px;position:absolute;top:calc(2.75rem + .625rem)}top-nav[data-search-active] nav::after{z-index:10;margin-left:calc(50% - 50vw);width:100vw;background:var(--color-bg);content:"";height:100vh;left:0;position:absolute;top:0}navigation-rail{display:none;outline:0}@media (min-width:992px){navigation-rail{border-right:1px solid var(--color-hairline);display:block}}.navigation-rail__link{font-size:.875rem;line-height:2;color:var(--color-secondary-text);padding-bottom:.75rem;padding-top:.75rem}@media (min-width:992px){.navigation-rail__link{flex-direction:column;padding:0;position:relative}.navigation-rail__link .navigation-rail__icon{position:static}.navigation-rail__link+.navigation-rail__link{--flow-space: 1.5rem;margin-top:var(--flow-space)}.navigation-rail__link:hover{background:0 0;z-index:0}.navigation-rail__link:hover::before{background:var(--color-side-nav-hover);border-radius:50%;content:"";height:40px;position:absolute;top:-6px;width:40px;z-index:-1}}.navigation-rail__link[data-state=active]{color:var(--color-side-nav-active)}@media (min-width:992px){.navigation-rail__link[data-state=active]{background:0 0}}.navigation-rail__link>:last-child{margin-left:4rem}@media (min-width:992px){.navigation-rail__link>:last-child{margin-left:0}}.navigation-rail__icon{width:4rem}navigation-tree{display:none;width:15.625rem}@media (min-width:992px){navigation-tree{display:block}}.navigation-tree__link{font-size:.8125rem;line-height:1.6923076923;align-items:flex-start;padding-left:.75rem}side-nav,side-nav::before{height:100%;left:0;top:0;width:100%}side-nav{z-index:40;pointer-events:none;position:fixed;visibility:hidden}@media (min-width:992px){side-nav{display:none}}side-nav::before{background:rgba(0,0,0,.4);content:"";display:block;opacity:0;position:absolute;transition:opacity .2s cubic-bezier(.4,0,.2,1)}@media (min-width:992px){side-nav::before{display:none}}side-nav navigation-rail,side-nav navigation-tree{display:block;height:100%}side-nav[expanded]{pointer-events:auto;visibility:visible}side-nav[expanded]::before{opacity:1}side-nav[expanded] .side-nav__container{transform:translate(0,0)}.side-nav__container{box-shadow:0 1px 2px 0 rgba(60,64,67,.3),0 2px 6px 2px rgba(60,64,67,.15);background:var(--color-bg);height:100%;max-width:22.5rem;overflow:hidden;transform:translate(-102%,0);transition:none;width:85vw}.side-nav__container>*{transition:none}side-nav[animating]{visibility:visible}side-nav[animating] .side-nav__container{transition:transform .2s cubic-bezier(.4,0,.2,1)}side-nav[animating] .side-nav__container>*{transition:transform .2s cubic-bezier(.4,0,.2,1),opacity .2s cubic-bezier(.4,0,.2,1);visibility:visible}side-nav[view=project] navigation-rail{opacity:0;transform:translate(100%,0);visibility:hidden}side-nav[view=project] navigation-tree{opacity:1;transform:translate(0,-100%)}side-nav[view=site] navigation-rail{opacity:1;transform:translate(0,0)}side-nav[view=site] navigation-tree{opacity:0;transform:translate(-100%,-100%);visibility:hidden}.reference{border-radius:4px}.aside{--link-color: var(--color-blue-darkest);--link-visited-color: var(--color-blue-darkest);--link-rgb-background: var(--rgb-blue-darkest);background-color:var(--color-blue-lightest);border-radius:6px;color:var(--color-blue-darkest);padding:1.5rem}.aside>*+*{margin-top:1rem}.aside--caution{--link-color: var(--color-yellow-darkest);--link-visited-color: var(--color-yellow-darkest);--link-rgb-background: var(--rgb-yellow-darkest);background-color:var(--color-yellow-lightest);color:var(--color-yellow-darkest)}.aside__label{align-items:center;display:flex}.aside__label>svg{fill:currentColor}.aside__label>*+*{margin-left:.75rem}footer{--flow-space: 0.75rem;background-color:var(--color-footer-bg)}.footer__stack+.footer__stack{margin-top:2rem}@media (min-width:992px){.footer__stack+.footer__stack{margin-top:0}}.footer__link{color:var(--color-secondary-text)}.toc-container{max-width:100%}.toc>summary{list-style:none}.toc>summary::-webkit-details-marker{display:none}.toc__icon{display:inline-flex;margin-left:.5rem}.toc__icon>svg{display:flex;transform:rotate(90deg)}.toc[open] .toc__icon>svg{transform:rotate(270deg)}toc-active{max-height:calc(100vh - .5rem*2);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;position:sticky;top:.5rem}toc-active [toc--active]{font-weight:600;letter-spacing:-.35px}.toc__wrapper a{text-decoration:none}.toc__wrapper li{line-height:1.2}.toc__wrapper li+li{margin-top:.5rem}.toc__wrapper ol,.toc__wrapper ul{list-style-type:none;margin:.5rem 0;padding:0}.toc__wrapper ol ol,.toc__wrapper ol ul,.toc__wrapper ul ol,.toc__wrapper ul ul{border-left:1px solid var(--color-hairline);padding-left:1rem}search-box{min-height:2.75rem;position:relative}search-box[active]{z-index:20;background-color:var(--color-bg)}announcement-banner,search-box[active] .search-box__input,toc-active{display:block}.search-box__inner{align-items:center;display:grid;height:100%}.search-box__inner>*{grid-column:1;grid-row:1}.search-box__btn{z-index:10;align-items:center;display:flex;height:100%;justify-content:center;width:3rem}.search-box__btn>svg{fill:currentColor}.search-box__input{background:var(--color-bg-shade);border:0;border-radius:6.25rem;display:none;font:inherit;margin:0;padding:.5rem 1rem .5rem 3rem}@media (min-width:992px){.search-box__input{display:block;width:100%}}.search-box__input::placeholder{color:var(--color-secondary-text)}.search-box__results{--flow-space: 1.5rem;height:calc(100vh - 2.75rem);max-width:100%;overflow-x:hidden;padding-bottom:4.5rem;position:absolute;top:calc(2.75rem + .625rem + 1.5rem);word-break:break-word}.search-box__results strong{color:var(--color-primary)}.search-box__result-heading{color:var(--color-secondary-text)}.search-box__result-heading~.search-box__result-heading{border-top:1px solid var(--color-hairline);padding-top:1.5rem}.search-box__link{--overlay-background-color: var(--color-primary);align-items:center;display:inline-flex;text-decoration:none}.search-box__link[aria-selected=true]::before{opacity:.1}.search-box__title{color:var(--color-text)}.heading-link::after,.search-box__snippet{color:var(--color-secondary-text)}.search-box__thumbnail{margin-left:.5rem}@media (min-width:592px){.search-box__thumbnail{margin-left:1rem}}.youtube{padding-top:56.25%;position:relative;width:100%}.youtube__embed{height:100%;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:100%}.heading-link{color:transparent;float:left;margin-left:-1.5rem;opacity:.4;position:relative;text-align:center;text-decoration:none;width:1.5rem}.heading-link:hover{opacity:1}.heading-link::after{bottom:0;content:"#";left:0;position:absolute;right:0;top:0;transform:scale(.666);transform-origin:75% 50%}@media (min-width:992px){.heading-link::after{transform-origin:25% 50%}}announcement-banner [data-banner-close-btn]{opacity:0;pointer-events:none}announcement-banner[active] [data-banner-close-btn]{opacity:1;pointer-events:auto}[data-cookies-accepted] .cookie-banner{display:none}.cookie-banner{z-index:40;background-color:var(--color-bg);bottom:0;display:flex;flex-direction:column;padding:1.5rem;position:fixed;width:100%}@media (min-width:592px){.cookie-banner{align-items:center;flex-direction:row}}.cookie-banner__controls{margin-top:1rem}@media (min-width:592px){.cookie-banner__controls{margin-left:1.5rem;margin-top:0}}.cookie-banner__controls>:last-child{margin-left:1rem}.skip-link{background-color:var(--color-bg)}.skip-link:focus{clip:auto;padding:inherit;width:auto;z-index:1}share-button{border-radius:50%;display:block;height:32px;margin:-12px 0;width:32px}share-button:hover{background:var(--color-bg-shade)}share-button .share-button__link{display:inline-block;height:32px;padding-left:5px;width:100%}share-button .share-button__link:hover{background-color:transparent}share-button svg{vertical-align:middle}web-tabs{display:block;margin-top:var(--flow-space) 0;width:100%}web-tabs [role=tablist]{align-items:flex-end;border-bottom:1px solid var(--color-hairline);display:flex;min-height:50px;overflow-x:auto;scroll-behavior:smooth;width:100%}web-tabs [role=tab]{background:0 0;border:0;flex:1 0 auto;height:3rem;margin:0;min-width:fit-content;opacity:.6;position:relative;transition:background .2s,opacity .2s,color .2s}web-tabs [aria-selected=true]{color:var(--color-primary);opacity:1}web-tabs [role=tab]::after{background:0 0;bottom:0;content:"";display:block;height:2px;left:0;opacity:1;position:absolute;right:0;transition:background .2s}web-tabs [aria-selected=true]::after{background:var(--color-primary)}select{-webkit-appearance:none;appearance:none;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 10L12 15L17 10H7Z' fill='%235F6368'/%3E%3C/svg%3E%0A");background-position:right .5em top 50%;background-repeat:no-repeat;background-size:1.5em;border:1px solid var(--color-hairline);border-radius:1px;box-sizing:border-box;display:block;font-size:1em;line-height:1.5;margin:0;max-width:100%;padding:.6em 3em .5em .8em}select::-ms-expand{display:none}select:hover{border-color:var(--color-text)}.logo__text{display:inline-flex;margin-left:12px;overflow:hidden}@media (max-width:591px){.logo__text>svg{margin-left:-82px}}.logo__text.logo__text-small>svg{margin-left:-82px}select-loader:not(:defined){visibility:hidden}figure{display:block;width:100%}figure>:not(figcaption){display:block;margin-left:auto;margin-right:auto}figure>figcaption{display:block;max-width:100%;text-align:center}.center-images img{margin-left:auto;margin-right:auto}@media (min-width:992px){.float-right{float:right;margin-left:2.5rem!important;max-width:calc((100% - 2.5rem)/2)}}.hairline-top{border-top:1px solid var(--color-hairline)}.hairline-bottom{border-bottom:1px solid var(--color-hairline)}.color-blue-medium{color:var(--color-blue-medium)}.color-bg{color:var(--color-bg)}.color-secondary-text{color:var(--color-secondary-text)}.color-primary{color:var(--color-primary)}.bg-primary{background-color:var(--color-primary)}.scrollbar{scrollbar-color:#9aa0a6 transparent;scrollbar-width:thin}.scrollbar::-webkit-scrollbar{height:10px;width:10px}.scrollbar::-webkit-scrollbar-thumb{background:#9aa0a6;background-clip:padding-box;border:2.5px solid transparent;border-radius:5px}.scrollbar::-webkit-scrollbar-thumb:hover{background-color:#798189}.scrollbar::-webkit-scrollbar-thumb:active{background-color:#61686e}.scrollbar::-webkit-scrollbar-track{background:0 0}.footer__link,.surface{text-decoration:none}.footer__link:focus,.footer__link:hover,.surface:focus,.surface:hover{text-decoration:underline}.visually-hidden{border:0;clip:rect(0 0 0 0);height:auto;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}</style></head><body><div class="scaffold"><top-nav class="display-block hairline-bottom" data-side-nav-inert role="banner"><a href="#main-content" class="color-primary skip-link visually-hidden">Skip to content</a><nav aria-label="Chrome Developers" class="align-center display-grid" role="search"><button class="display-flex align-center button height-700 justify-content-center width-700 lg:display-none top-nav__hamburger" aria-label="menu"><svg height="24" width="24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="icon" viewbox="0 0 24 24"><path d="M0 0h24v24H0z" fill="none"/><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/></svg></button><div class="display-flex justify-content-start top-nav__logo"><a href="/web/20221005022630/https://developer.chrome.com/" class="display-inline-flex" aria-label="developer.chrome.com"><svg height="36" width="36" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="icon" viewbox="0 0 502 502" id="chromeLogo" version="1.2"><defs><lineargradient gradientunits="userSpaceOnUse" id="a_4ue" x1="110.2" x2="-106.3" y1="582.3" y2="207.2"><stop offset="0" stop-color="#329a48"/><stop offset="1" stop-color="#3eb864"/></lineargradient><lineargradient gradientunits="userSpaceOnUse" id="b_4ue" x1="86.9" x2="303.4" y1="406.2" y2="31.2"><stop offset="0" stop-color="#ffc44e"/><stop offset="1" stop-color="#ffb73b"/></lineargradient><lineargradient gradientunits="userSpaceOnUse" id="c_4ue" x1="34.5" x2="467.5" y1="-1" y2="-1"><stop offset="0" stop-color="#f23d28"/><stop offset="1" stop-color="#ff4e39"/></lineargradient></defs><path d="M358.4 314.9 251 501C112.9 501 1 389.1 1 251c0-45.5 12.2-88.2 33.5-125l107.3 185.9 1.8 3C165.4 351.5 205.3 376 251 376s85.6-24.5 107.4-61.1z" style="fill:url(/web/20221005022630im_/https://developer.chrome.com/docs/lighthouse/overview/#a_4ue)"/><path d="M501 251c0 138.1-111.9 250-250 250l107.4-186.1 1.8-3c10-18 15.8-38.8 15.8-60.9 0-69-56-125-125-125h216.5c21.3 36.8 33.5 79.5 33.5 125z" style="fill:url(/web/20221005022630im_/https://developer.chrome.com/docs/lighthouse/overview/#b_4ue)"/><path d="M467.5 126H251c-69 0-125 56-125 125 0 22.1 5.8 42.9 15.8 60.9L34.5 126C77.7 51.3 158.5 1 251 1s173.3 50.3 216.5 125z" style="fill:url(/web/20221005022630im_/https://developer.chrome.com/docs/lighthouse/overview/#c_4ue)"/><path d="m360.2 311.9-1.8 3C336.6 351.5 296.7 376 251 376s-85.6-24.5-107.4-61.1l-1.8-3c-10-18-15.8-38.8-15.8-60.9 0-69 56-125 125-125s125 56 125 125c0 22.1-5.8 42.9-15.8 60.9z" style="fill:#fff"/><path d="m340.5 301-1.4 2.4c-17.9 30-50.7 50.1-88.1 50.1-37.4 0-70.2-20.1-88.1-50.1l-1.4-2.4c-8.3-14.8-13-31.9-13-50 0-56.6 45.9-102.5 102.5-102.5S353.5 194.4 353.5 251c0 18.1-4.7 35.2-13 50z" style="fill:#1a73e8"/></svg><div class="logo__text"><svg height="36" width="190" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="icon" fill="none" viewbox="52 2 190 36" id="chromeDevelopersText"><defs/><path d="M61 28.35A7.92 7.92 0 0155.17 26a7.97 7.97 0 01-2.36-5.88c0-2.34.79-4.3 2.36-5.87A7.92 7.92 0 0161 11.9c2.37 0 4.3.85 5.78 2.57l-1.4 1.36a5.31 5.31 0 00-4.38-2 6 6 0 00-4.36 1.74 6.12 6.12 0 00-1.76 4.55c0 1.88.59 3.4 1.76 4.56A6 6 0 0061 26.42c1.89 0 3.5-.77 4.84-2.3l1.4 1.42a7.79 7.79 0 01-2.7 2.06c-1.09.5-2.27.75-3.54.75zm10.07-16.1v4.97l-.09 1.5h.09c.3-.52.75-.95 1.38-1.3.64-.37 1.31-.55 2.03-.55 1.33 0 2.35.4 3.06 1.23a4.9 4.9 0 011.05 3.3V28h-2.02v-6.3c0-1.99-.89-2.98-2.66-2.98-.84 0-1.52.33-2.05 1-.53.67-.8 1.44-.8 2.32V28h-2.02V12.25h2.03zM82.99 28h-2.02V17.22h1.93v1.76h.1c.2-.59.62-1.07 1.25-1.45a3.68 3.68 0 013.38-.31l-.77 1.9c-.26-.11-.62-.16-1.07-.16-.74 0-1.39.3-1.96.88a3.1 3.1 0 00-.84 2.26V28zm6.25-9.48a5.24 5.24 0 013.98-1.65c1.62 0 2.94.55 3.98 1.65a5.67 5.67 0 011.57 4.09c0 1.64-.52 3.01-1.57 4.11a5.28 5.28 0 01-3.98 1.63 5.28 5.28 0 01-3.98-1.63 5.75 5.75 0 01-1.56-4.11c0-1.64.52-3 1.56-4.1zm1.5 6.93a3.4 3.4 0 004.95 0 3.88 3.88 0 001.05-2.84 3.8 3.8 0 00-1.05-2.82 3.37 3.37 0 00-4.95 0 3.85 3.85 0 00-1.04 2.82c0 1.17.35 2.12 1.04 2.84zm9.65 2.55V17.22h1.94v1.5h.08c.31-.52.78-.95 1.41-1.3a3.86 3.86 0 011.92-.55c1.67 0 2.8.69 3.4 2.07a4.21 4.21 0 013.77-2.07c1.27 0 2.23.4 2.88 1.23.65.8.97 1.9.97 3.3V28h-2.03v-6.3c0-1.08-.2-1.85-.59-2.3-.4-.46-1-.68-1.8-.68s-1.46.33-1.98 1a3.72 3.72 0 00-.77 2.32V28h-2.03v-6.3c0-1.08-.2-1.85-.6-2.3-.39-.46-.99-.68-1.8-.68-.79 0-1.45.33-1.98 1a3.72 3.72 0 00-.77 2.32V28h-2.02zm23.62.35a5.23 5.23 0 01-3.98-1.63 5.8 5.8 0 01-1.52-4.11c0-1.57.49-2.92 1.47-4.05 1-1.13 2.27-1.7 3.8-1.7 1.6 0 2.88.53 3.84 1.57a5.9 5.9 0 011.45 4.18l-.02.37h-8.52a3.68 3.68 0 001.08 2.58c.67.63 1.46.94 2.36.94 1.45 0 2.43-.61 2.94-1.84l1.8.74a4.9 4.9 0 01-1.73 2.12c-.8.55-1.8.83-2.97.83zm2.9-7.04a2.85 2.85 0 00-.85-1.76c-.52-.56-1.29-.83-2.31-.83-.75 0-1.4.23-1.96.7-.55.47-.92 1.1-1.13 1.9h6.25zm9.2 6.69V12.25h4.81c2.42 0 4.36.73 5.81 2.2a7.68 7.68 0 012.18 5.67c0 2.34-.73 4.24-2.18 5.7-1.45 1.45-3.39 2.18-5.8 2.18h-4.83zm2.02-1.94h2.8c1.81 0 3.25-.52 4.3-1.56 1.08-1.04 1.61-2.5 1.61-4.38 0-1.86-.53-3.31-1.6-4.35a5.83 5.83 0 00-4.32-1.59h-2.8v11.88zm17.4 2.3a5.24 5.24 0 01-3.99-1.64 5.8 5.8 0 01-1.51-4.11c0-1.57.49-2.92 1.47-4.05 1-1.13 2.27-1.7 3.8-1.7 1.6 0 2.88.53 3.83 1.57a5.9 5.9 0 011.46 4.18l-.03.37h-8.51a3.68 3.68 0 001.08 2.58c.67.63 1.46.94 2.35.94 1.45 0 2.44-.61 2.95-1.84l1.8.74a4.9 4.9 0 01-1.73 2.12c-.81.55-1.8.83-2.97.83zm2.9-7.05a2.85 2.85 0 00-.86-1.76c-.51-.56-1.28-.83-2.3-.83-.76 0-1.4.23-1.97.7-.54.47-.91 1.1-1.12 1.9h6.25zm7 6.69l-4.35-10.78h2.2l3.17 8.36h.04l3.21-8.36h2.16L167.46 28h-2.03zm12.31.35a5.24 5.24 0 01-3.98-1.63 5.8 5.8 0 01-1.52-4.11c0-1.57.5-2.92 1.47-4.05 1-1.13 2.27-1.7 3.81-1.7 1.6 0 2.88.53 3.83 1.57a5.9 5.9 0 011.45 4.18l-.02.37h-8.52a3.68 3.68 0 001.08 2.58c.68.63 1.46.94 2.36.94 1.45 0 2.43-.61 2.95-1.84l1.8.74a4.9 4.9 0 01-1.74 2.12c-.8.55-1.8.83-2.97.83zm2.9-7.04a2.85 2.85 0 00-.85-1.76c-.52-.56-1.29-.83-2.31-.83-.75 0-1.4.23-1.96.7-.54.47-.92 1.1-1.12 1.9h6.25zm6.04 6.69h-2.03V12.25h2.03V28zm3.3-9.48a5.24 5.24 0 013.98-1.65c1.62 0 2.94.55 3.98 1.65a5.68 5.68 0 011.57 4.09c0 1.64-.52 3.01-1.56 4.11a5.28 5.28 0 01-3.99 1.63 5.28 5.28 0 01-3.98-1.63 5.75 5.75 0 01-1.56-4.11c0-1.64.52-3 1.56-4.1zm1.5 6.93a3.4 3.4 0 002.48 1.05c.96 0 1.78-.35 2.47-1.05a3.88 3.88 0 001.05-2.84 3.8 3.8 0 00-1.05-2.82 3.37 3.37 0 00-4.95 0 3.85 3.85 0 00-1.04 2.82c0 1.17.35 2.12 1.04 2.84zm15.37 2.9c-.82 0-1.56-.17-2.22-.53a3.76 3.76 0 01-1.46-1.32h-.08l.08 1.5v4.75h-2.02V17.22h1.94v1.5h.08c.33-.53.81-.97 1.46-1.32.66-.36 1.4-.53 2.22-.53 1.4 0 2.6.55 3.6 1.65a5.82 5.82 0 011.52 4.09c0 1.63-.5 3-1.51 4.1a4.74 4.74 0 01-3.61 1.64zm-.33-1.85c.94 0 1.74-.35 2.42-1.05a3.98 3.98 0 001.01-2.84 3.9 3.9 0 00-1.01-2.82 3.2 3.2 0 00-2.42-1.07c-.96 0-1.77.35-2.44 1.05-.66.7-1 1.65-1 2.84s.34 2.13 1 2.84c.67.7 1.48 1.05 2.44 1.05zm12.2 1.85a5.23 5.23 0 01-3.99-1.63 5.8 5.8 0 01-1.52-4.11c0-1.57.5-2.92 1.48-4.05 1-1.13 2.26-1.7 3.8-1.7 1.6 0 2.88.53 3.83 1.57a5.9 5.9 0 011.45 4.18l-.02.37h-8.51a3.68 3.68 0 001.07 2.58c.68.63 1.46.94 2.36.94 1.45 0 2.43-.61 2.95-1.84l1.8.74a4.9 4.9 0 01-1.74 2.12c-.8.55-1.8.83-2.97.83zm2.9-7.04a2.85 2.85 0 00-.86-1.76c-.52-.56-1.29-.83-2.31-.83-.75 0-1.4.23-1.96.7-.54.47-.92 1.1-1.12 1.9h6.25zm6.03 6.69h-2.03V17.22h1.94v1.76h.09c.2-.59.62-1.07 1.25-1.45a3.67 3.67 0 013.39-.31l-.77 1.9c-.27-.11-.63-.16-1.08-.16-.73 0-1.38.3-1.96.88a3.1 3.1 0 00-.83 2.26V28zm9.54.35c-1.2 0-2.2-.3-3-.88a5.25 5.25 0 01-1.7-2.2l1.8-.75c.57 1.35 1.54 2.03 2.92 2.03.63 0 1.14-.14 1.54-.42.41-.28.62-.65.62-1.1 0-.7-.5-1.18-1.48-1.43l-2.17-.53a5.27 5.27 0 01-1.96-.99 2.44 2.44 0 01-.93-2c0-.95.42-1.72 1.26-2.31.85-.6 1.85-.9 3.01-.9.95 0 1.8.22 2.55.66a3.6 3.6 0 011.6 1.85l-1.75.72c-.4-.95-1.22-1.43-2.47-1.43-.6 0-1.1.13-1.51.38-.41.25-.62.58-.62 1 0 .62.48 1.04 1.43 1.26l2.13.5c1.02.24 1.76.65 2.25 1.22a3 3 0 01-.46 4.36c-.8.64-1.81.96-3.06.96z" fill="#5F6368"/></svg></div></a></div><search-box articleslabel="Articles" bloglabel="Blog" buttonlabel="open search" class="align-center display-grid" docslabel="Documentation" locale="en" placeholder="Search docs, blogs and more"></search-box></nav></top-nav><navigation-rail aria-label="primary" class="lg:pad-left-200 lg:pad-right-200" role="navigation" tabindex="-1"><div class="display-flex align-center lg:display-none hairline-bottom pad-200"><button class="display-flex align-center button height-700 justify-content-center width-700 navigation-rail__close" aria-label="Close"><svg height="24" width="24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="icon" fill="none" viewbox="0 0 24 24"><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"/></svg></button><div class="display-flex pad-right-200 pad-left-200"><svg height="36" width="36" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><use href="#chromeLogo"/></svg><div class="logo__text logo__text-small"><svg height="36" width="190" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><use href="#chromeDevelopersText"/></svg></div></div></div><div class="display-flex direction-column lg:pad-right-0 pad-right-200 pad-top-300"><a href="/web/20221005022630/https://developer.chrome.com/" class="navigation-rail__link"><div class="navigation-rail__icon"><svg height="24" width="24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="icon" fill="none" viewbox="0 0 24 24"><path d="M4 9l8-6 8 6v12H4V9zm11 10h3v-9l-6-4.5L6 10v9h3v-6h6v6z" clip-rule="evenodd" fill-rule="evenodd"/></svg></div><span>Home</span> </a><a href="/web/20221005022630/https://developer.chrome.com/docs/" class="navigation-rail__link" data-state="active"><div class="navigation-rail__icon"><svg height="24" width="24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="icon" fill="none" viewbox="0 0 24 24"><path d="M17 2H7v2h10V2zm3 3H4v2h16V5zm0 3H4c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2z" clip-rule="evenodd" fill-rule="evenodd"/></svg></div><span>Docs</span> </a><a href="/web/20221005022630/https://developer.chrome.com/blog/" class="navigation-rail__link"><div class="navigation-rail__icon"><svg height="24" width="24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="icon" fill="none" viewbox="0 0 24 24"><path d="M20 4v12h-6.4l-.6.89-1 1.5-1-1.5-.6-.89H4V4h16zm2 1a3 3 0 00-3-3H5a3 3 0 00-3 3v10a3 3 0 003 3h4.33L12 22l2.67-4H19a3 3 0 003-3V5z"/><path d="M6 7v2h12V7H6zM6 11h9v2H6v-2z"/></svg></div><span>Blog</span> </a><a href="/web/20221005022630/https://developer.chrome.com/articles/" class="navigation-rail__link"><div class="navigation-rail__icon"><svg height="24" width="24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="icon" fill="none"><path d="M-24-300h72v896h-72z" fill="#fff"/><path d="m14.411 4.222 5.367 5.367v10.189H4.222V4.222h10.19Zm0-2.222H4.222C3 2 2 3 2 4.222v15.556C2 21 3 22 4.222 22h15.556C21 22 22 21 22 19.778V9.588c0-.588-.233-1.155-.656-1.566l-5.366-5.366A2.184 2.184 0 0 0 14.41 2ZM6.444 15.333h11.112v2.223H6.444v-2.223Zm0-4.444h11.112v2.222H6.444V10.89Zm0-4.445h7.778v2.223H6.444V6.444Z"/></svg></div><span>Articles</span></a></div></navigation-rail><side-nav type="project"><div class="lg:display-flex side-nav__container"><navigation-rail aria-label="primary" class="lg:pad-left-200 lg:pad-right-200" role="navigation" tabindex="-1"><div class="display-flex align-center lg:display-none hairline-bottom pad-200"><button class="display-flex align-center button height-700 justify-content-center width-700 navigation-rail__close" aria-label="Close"><svg height="24" width="24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="icon" fill="none" viewbox="0 0 24 24"><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"/></svg></button><div class="display-flex pad-right-200 pad-left-200"><svg height="36" width="36" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><use href="#chromeLogo"/></svg><div class="logo__text logo__text-small"><svg height="36" width="190" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><use href="#chromeDevelopersText"/></svg></div></div></div><div class="display-flex direction-column lg:pad-right-0 pad-right-200 pad-top-300"><a href="/web/20221005022630/https://developer.chrome.com/" class="navigation-rail__link"><div class="navigation-rail__icon"><svg height="24" width="24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="icon" fill="none" viewbox="0 0 24 24"><path d="M4 9l8-6 8 6v12H4V9zm11 10h3v-9l-6-4.5L6 10v9h3v-6h6v6z" clip-rule="evenodd" fill-rule="evenodd"/></svg></div><span>Home</span> </a><a href="/web/20221005022630/https://developer.chrome.com/docs/" class="navigation-rail__link" data-state="active"><div class="navigation-rail__icon"><svg height="24" width="24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="icon" fill="none" viewbox="0 0 24 24"><path d="M17 2H7v2h10V2zm3 3H4v2h16V5zm0 3H4c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2z" clip-rule="evenodd" fill-rule="evenodd"/></svg></div><span>Docs</span> </a><a href="/web/20221005022630/https://developer.chrome.com/blog/" class="navigation-rail__link"><div class="navigation-rail__icon"><svg height="24" width="24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="icon" fill="none" viewbox="0 0 24 24"><path d="M20 4v12h-6.4l-.6.89-1 1.5-1-1.5-.6-.89H4V4h16zm2 1a3 3 0 00-3-3H5a3 3 0 00-3 3v10a3 3 0 003 3h4.33L12 22l2.67-4H19a3 3 0 003-3V5z"/><path d="M6 7v2h12V7H6zM6 11h9v2H6v-2z"/></svg></div><span>Blog</span> </a><a href="/web/20221005022630/https://developer.chrome.com/articles/" class="navigation-rail__link"><div class="navigation-rail__icon"><svg height="24" width="24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="icon" fill="none"><path d="M-24-300h72v896h-72z" fill="#fff"/><path d="m14.411 4.222 5.367 5.367v10.189H4.222V4.222h10.19Zm0-2.222H4.222C3 2 2 3 2 4.222v15.556C2 21 3 22 4.222 22h15.556C21 22 22 21 22 19.778V9.588c0-.588-.233-1.155-.656-1.566l-5.366-5.366A2.184 2.184 0 0 0 14.41 2ZM6.444 15.333h11.112v2.223H6.444v-2.223Zm0-4.444h11.112v2.222H6.444V10.89Zm0-4.445h7.778v2.223H6.444V6.444Z"/></svg></div><span>Articles</span></a></div></navigation-rail><navigation-tree aria-label="project docs" class="flex-shrink-none" role="navigation" tabindex="-1"><div class="display-flex align-center lg:display-none hairline-bottom pad-200"><button class="display-flex align-center button height-700 justify-content-center width-700 navigation-tree__back" aria-label="Back"><svg height="24" width="24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="icon" fill="none" viewbox="0 0 24 24"><path d="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z"/></svg></button><div class="pad-right-200 pad-left-200 navigation-tree__title user-select-none">Lighthouse</div></div><div class="display-flex direction-column lg:pad-right-0 pad-right-200 pad-top-300 lg:pad-top-200"><a href="/web/20221005022630/https://developer.chrome.com/docs/lighthouse/overview/" class="navigation-tree__link" data-state="active" aria-current="page"><span>Overview</span> </a><a href="/web/20221005022630/https://developer.chrome.com/docs/lighthouse/performance/" class="navigation-tree__link"><span>Performance Audits</span> </a><a href="/web/20221005022630/https://developer.chrome.com/docs/lighthouse/accessibility/" class="navigation-tree__link"><span>Accessibility Audits</span> </a><a href="/web/20221005022630/https://developer.chrome.com/docs/lighthouse/best-practices/" class="navigation-tree__link"><span>Best Practices Audits</span> </a><a href="/web/20221005022630/https://developer.chrome.com/docs/lighthouse/seo/" class="navigation-tree__link"><span>SEO Audits</span> </a><a href="/web/20221005022630/https://developer.chrome.com/docs/lighthouse/pwa/" class="navigation-tree__link"><span>PWA Audits</span></a></div></navigation-tree></div></side-nav><main data-search-inert data-side-nav-inert id="main-content" tabindex="-1"><announcement-banner class="banner banner--info" storage-key="user-banner"><div class="banner__inner"><div class="banner__text"><div class="display-inline-block">PWA Summit 22 is ready for you, with talks from the community and organizers along with workshops and more.</div></div><div class="banner__actions"><div class="display-inline-block"><a href="http://web.archive.org/web/20221005022630/https://pwasummit.org/register" class="material-button button-text banner__action" data-banner-close-btn>Get your ticket today </a><button class="material-button button-text banner__action" data-banner-close-btn>Dismiss</button></div></div></div></announcement-banner><div class="display-flex align-center justify-content-between pad-bottom-300 pad-left-400 pad-right-400 pad-top-300 title-bar"><nav aria-label="breadcrumbs" class="flow-space-200 breadcrumbs"><a href="/web/20221005022630/https://developer.chrome.com/docs/" class="type--h6 decoration-none link no-visited">Documentation</a> <svg height="16" width="16" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="icon" fill="none" viewbox="0 0 16 16"><path d="M5.06 12.393l.94.94L11.333 8 6 2.667l-.94.94L9.447 8"/></svg> <a href=".." class="type--h6 decoration-none link no-visited">Lighthouse</a></nav><share-button message="Overview"><a href="http://web.archive.org/web/20221005022630/https://twitter.com/share?url=https://developer.chrome.com/docs/lighthouse/overview/&text=Overview" class="share-button__link" target="_blank"><svg height="20" width="18" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" fill="none" viewbox="0 0 18 20"><path d="M12.97 14.81C13.5 14.31 14.21 14 15 14C16.66 14 18 15.34 18 17C18 18.66 16.66 20 15 20C13.34 20 12 18.66 12 17C12 16.76 12.04 16.53 12.09 16.31L5.04 12.19C4.5 12.69 3.79 13 3 13C1.34 13 0 11.66 0 10C0 8.34 1.34 7 3 7C3.79 7 4.5 7.31 5.04 7.81L12.09 3.7C12.04 3.48 12 3.24 12 3C12 1.34 13.34 0 15 0C16.66 0 18 1.34 18 3C18 4.66 16.66 6 15 6C14.21 6 13.49 5.69 12.96 5.19L5.91 9.3C5.96 9.53 6 9.76 6 10C6 10.24 5.96 10.47 5.91 10.7L12.97 14.81ZM16 3C16 2.45 15.55 2 15 2C14.45 2 14 2.45 14 3C14 3.55 14.45 4 15 4C15.55 4 16 3.55 16 3ZM3 11C2.45 11 2 10.55 2 10C2 9.45 2.45 9 3 9C3.55 9 4 9.45 4 10C4 10.55 3.55 11 3 11ZM14 17C14 17.55 14.45 18 15 18C15.55 18 16 17.55 16 17C16 16.45 15.55 16 15 16C14.45 16 14 16.45 14 17Z" fill="#5F6368" clip-rule="evenodd" fill-rule="evenodd"/></svg></a></share-button></div><div class="display-flex gap-top-300 lg:gap-top-400"><navigation-tree aria-label="project docs" class="flex-shrink-none" role="navigation" tabindex="-1"><div class="display-flex align-center lg:display-none hairline-bottom pad-200"><button class="display-flex align-center button height-700 justify-content-center width-700 navigation-tree__back" aria-label="Back"><svg height="24" width="24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="icon" fill="none" viewbox="0 0 24 24"><path d="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z"/></svg></button><div class="pad-right-200 pad-left-200 navigation-tree__title user-select-none">Lighthouse</div></div><div class="display-flex direction-column lg:pad-right-0 pad-right-200 pad-top-300 lg:pad-top-200"><a href="/web/20221005022630/https://developer.chrome.com/docs/lighthouse/overview/" class="navigation-tree__link" data-state="active" aria-current="page"><span>Overview</span> </a><a href="/web/20221005022630/https://developer.chrome.com/docs/lighthouse/performance/" class="navigation-tree__link"><span>Performance Audits</span> </a><a href="/web/20221005022630/https://developer.chrome.com/docs/lighthouse/accessibility/" class="navigation-tree__link"><span>Accessibility Audits</span> </a><a href="/web/20221005022630/https://developer.chrome.com/docs/lighthouse/best-practices/" class="navigation-tree__link"><span>Best Practices Audits</span> </a><a href="/web/20221005022630/https://developer.chrome.com/docs/lighthouse/seo/" class="navigation-tree__link"><span>SEO Audits</span> </a><a href="/web/20221005022630/https://developer.chrome.com/docs/lighthouse/pwa/" class="navigation-tree__link"><span>PWA Audits</span></a></div></navigation-tree><div class="display-flex justify-content-center width-full"><article class="pad-right-400 pad-left-400 measure-long stack width-full"><div class="stack flow-space-200"><h1 class="type--h2">Overview</h1><p class="color-secondary-text type--caption">Published on <time>Tuesday, September 27, 2016</time> <span>•</span> Updated on <time>Tuesday, May 24, 2022</time></p></div><div class="display-block toc-container xl:display-none"><details aria-label="Table of contents" class="toc" role="navigation"><summary class="color-secondary-text surface user-select-none"><div class="align-center display-inline-flex"><div class="type--h6">Table of contents</div><span class="toc__icon"><svg height="24" width="24" xmlns="http://www.w3.org/2000/svg" class="icon" role="img" aria-label="arrow-right"><path d="M10 17l5-5-5-5v10z"/><path d="M0 24V0h24v24H0z" fill="none"/></svg></span></div></summary><div class="toc__wrapper"><ul><li><a href="#get-started">Get started</a><ul><li><a href="#devtools">Run Lighthouse in Chrome DevTools</a></li><li><a href="#cli">Install and run the Node command line tool</a></li><li><a href="#psi">Run PageSpeed Insights</a></li><li><a href="#extension">Run Lighthouse as a Chrome Extension</a></li></ul></li><li><a href="#report-viewer">Share and view reports online</a><ul><li><a href="#json">Share reports as JSON</a></li><li><a href="#gists">Share reports as GitHub Gists</a></li></ul></li><li><a href="#extensibility">Lighthouse extensibility</a><ul><li><a href="#stack-packs">Stack Packs</a></li><li><a href="#lighthouse-plugins">Lighthouse Plugins</a></li></ul></li><li><a href="#integrate">Integrate Lighthouse</a></li><li><a href="#contribute">Contribute to Lighthouse</a></li></ul></div></details></div><div class="stack center-images stack--block type"><p><a href="http://web.archive.org/web/20221005022630/https://github.com/GoogleChrome/lighthouse">Lighthouse</a> is an open-source, automated tool for improving the quality of web pages. You can run it against any web page, public or requiring authentication. It has audits for performance, accessibility, progressive web apps, SEO and more.</p><figure><img alt="Lighthouse logo" decoding="async" height="150" loading="lazy" src="http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/QXJ5lmcjHEFLTHg5B4o8.svg" width="150" class="float-right"></figure><p>You can run Lighthouse in Chrome DevTools, from the command line, or as a Node module. You give Lighthouse a URL to audit, it runs a series of audits against the page, and then it generates a report on how well the page did. From there, use the failing audits as indicators on how to improve the page. Each audit has a reference doc explaining why the audit is important, as well as how to fix it.</p><p>You can also use <a href="http://web.archive.org/web/20221005022630/https://github.com/GoogleChrome/lighthouse-ci/blob/main/docs/getting-started.md">Lighthouse CI</a> to prevent regressions on your sites.</p><p>Check out the video below from Google I/O to learn more about how to use and contribute to Lighthouse.</p><figure><div class="youtube"><iframe allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen class="youtube__embed" frameborder="0" loading="lazy" src="http://web.archive.org/web/20221005022630if_/https://www.youtube.com/embed/mLjxXPHuIJo" title="youtube embed"></iframe></div></figure><h2 id="get-started" tabindex="-1"><a href="#get-started" class="heading-link" aria-hidden="true">#</a> Get started</h2><p>Choose the Lighthouse workflow that suits you best:</p><ul><li><a href="#devtools">In Chrome DevTools</a>. Easily audit pages that require authentication, and read your reports in a user-friendly format.</li><li><a href="#cli">From the command line</a>. Automate your Lighthouse runs via shell scripts.</li><li><a href="#programmatic">As a Node module</a>. Integrate Lighthouse into your continuous integration systems.</li><li><a href="#psi">From a web UI</a>. Run Lighthouse and link to reports without installing a thing.</li></ul><div class="aside aside--note"><p>The CLI and Node workflows require you to have an instance of Google Chrome installed on your machine.</p></div><h3 id="devtools" tabindex="-1"><a href="#devtools" class="heading-link" aria-hidden="true">#</a> Run Lighthouse in Chrome DevTools</h3><p>Lighthouse has its own panel in Chrome DevTools. To run a report:</p><ol><li><p>Download <a href="http://web.archive.org/web/20221005022630/https://www.google.com/chrome/browser/desktop/">Google Chrome for Desktop</a>.</p></li><li><p>In Google Chrome, go to the URL you want to audit. You can audit any URL on the web.</p></li><li><p><a href="/web/20221005022630/https://developer.chrome.com/docs/devtools/open/">Open Chrome DevTools</a>.</p></li><li><p>Click the <strong>Lighthouse</strong> tab.</p><figure><img alt="The Lighthouse panel of Chrome DevTools" decoding="async" height="524" loading="lazy" src="http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/8fwyTKT8jE02hESwaSZy.png?auto=format" width="800" sizes="(min-width: 800px) 800px, calc(100vw - 48px)" srcset="http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/8fwyTKT8jE02hESwaSZy.png?auto=format&w=200 200w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/8fwyTKT8jE02hESwaSZy.png?auto=format&w=228 228w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/8fwyTKT8jE02hESwaSZy.png?auto=format&w=260 260w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/8fwyTKT8jE02hESwaSZy.png?auto=format&w=296 296w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/8fwyTKT8jE02hESwaSZy.png?auto=format&w=338 338w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/8fwyTKT8jE02hESwaSZy.png?auto=format&w=385 385w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/8fwyTKT8jE02hESwaSZy.png?auto=format&w=439 439w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/8fwyTKT8jE02hESwaSZy.png?auto=format&w=500 500w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/8fwyTKT8jE02hESwaSZy.png?auto=format&w=571 571w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/8fwyTKT8jE02hESwaSZy.png?auto=format&w=650 650w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/8fwyTKT8jE02hESwaSZy.png?auto=format&w=741 741w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/8fwyTKT8jE02hESwaSZy.png?auto=format&w=845 845w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/8fwyTKT8jE02hESwaSZy.png?auto=format&w=964 964w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/8fwyTKT8jE02hESwaSZy.png?auto=format&w=1098 1098w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/8fwyTKT8jE02hESwaSZy.png?auto=format&w=1252 1252w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/8fwyTKT8jE02hESwaSZy.png?auto=format&w=1428 1428w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/8fwyTKT8jE02hESwaSZy.png?auto=format&w=1600 1600w"><figcaption>To the left is the viewport of the page that will be audited. To the right is the <b>Lighthouse</b> panel of Chrome DevTools, which is powered by Lighthouse</figcaption></figure></li><li><p>Click <strong>Analyze page load</strong>. DevTools shows you a list of audit categories. Leave them all enabled.</p></li><li><p>Click <strong>Run audit</strong>. After 30 to 60 seconds, Lighthouse gives you a report on the page.</p><figure><img alt="A Lighthouse report in Chrome DevTools" decoding="async" height="524" loading="lazy" src="http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/IYRw9kB2rqEsnAj48IJ9.png?auto=format" width="800" sizes="(min-width: 800px) 800px, calc(100vw - 48px)" srcset="http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/IYRw9kB2rqEsnAj48IJ9.png?auto=format&w=200 200w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/IYRw9kB2rqEsnAj48IJ9.png?auto=format&w=228 228w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/IYRw9kB2rqEsnAj48IJ9.png?auto=format&w=260 260w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/IYRw9kB2rqEsnAj48IJ9.png?auto=format&w=296 296w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/IYRw9kB2rqEsnAj48IJ9.png?auto=format&w=338 338w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/IYRw9kB2rqEsnAj48IJ9.png?auto=format&w=385 385w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/IYRw9kB2rqEsnAj48IJ9.png?auto=format&w=439 439w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/IYRw9kB2rqEsnAj48IJ9.png?auto=format&w=500 500w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/IYRw9kB2rqEsnAj48IJ9.png?auto=format&w=571 571w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/IYRw9kB2rqEsnAj48IJ9.png?auto=format&w=650 650w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/IYRw9kB2rqEsnAj48IJ9.png?auto=format&w=741 741w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/IYRw9kB2rqEsnAj48IJ9.png?auto=format&w=845 845w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/IYRw9kB2rqEsnAj48IJ9.png?auto=format&w=964 964w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/IYRw9kB2rqEsnAj48IJ9.png?auto=format&w=1098 1098w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/IYRw9kB2rqEsnAj48IJ9.png?auto=format&w=1252 1252w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/IYRw9kB2rqEsnAj48IJ9.png?auto=format&w=1428 1428w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/IYRw9kB2rqEsnAj48IJ9.png?auto=format&w=1600 1600w"><figcaption>A Lighthouse report in Chrome DevTools</figcaption></figure></li></ol><h3 id="cli" tabindex="-1"><a href="#cli" class="heading-link" aria-hidden="true">#</a> Install and run the Node command line tool</h3><p>To install the Node module:</p><ol><li>Download <a href="http://web.archive.org/web/20221005022630/https://www.google.com/chrome/browser/desktop/">Google Chrome for Desktop</a>.</li><li>Install the current <a href="http://web.archive.org/web/20221005022630/https://github.com/nodejs/Release">Long-Term Support</a> version of <a href="http://web.archive.org/web/20221005022630/https://nodejs.org/">Node</a>.</li><li>Install Lighthouse. The <code>-g</code> flag installs it as a global module.</li></ol><pre class="language-shell"><code class="language-shell"><span class="token function">npm</span> <span class="token function">install</span> -g lighthouse</code></pre><p>To run an audit:</p><pre class="language-shell"><code class="language-shell">lighthouse <span class="token operator"><</span>url<span class="token operator">></span></code></pre><p>To see all the options:</p><pre class="language-shell"><code class="language-shell">lighthouse --help</code></pre><h4 id="programmatic" tabindex="-1"><a href="#programmatic" class="heading-link" aria-hidden="true">#</a> Run the Node module programmatically</h4><p>See <a href="http://web.archive.org/web/20221005022630/https://github.com/GoogleChrome/lighthouse/blob/master/docs/readme.md#using-programmatically">Using programmatically</a> for an example of running Lighthouse programmatically, as a Node module.</p><h3 id="psi" tabindex="-1"><a href="#psi" class="heading-link" aria-hidden="true">#</a> Run PageSpeed Insights</h3><p>To run Lighthouse on PageSpeed Insights:</p><ol><li><p>Navigate to <a href="http://web.archive.org/web/20221005022630/https://pagespeed.web.dev/">PageSpeed Insights</a>.</p></li><li><p>Enter a web page URL.</p></li><li><p>Click <strong>Analyze</strong>.</p><figure><img alt="The PageSpeed Insights UI" decoding="async" height="657" loading="lazy" src="http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/n4UGfIn0foQuAq6IQwNQ.png?auto=format" width="800" sizes="(min-width: 800px) 800px, calc(100vw - 48px)" srcset="http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/n4UGfIn0foQuAq6IQwNQ.png?auto=format&w=200 200w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/n4UGfIn0foQuAq6IQwNQ.png?auto=format&w=228 228w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/n4UGfIn0foQuAq6IQwNQ.png?auto=format&w=260 260w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/n4UGfIn0foQuAq6IQwNQ.png?auto=format&w=296 296w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/n4UGfIn0foQuAq6IQwNQ.png?auto=format&w=338 338w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/n4UGfIn0foQuAq6IQwNQ.png?auto=format&w=385 385w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/n4UGfIn0foQuAq6IQwNQ.png?auto=format&w=439 439w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/n4UGfIn0foQuAq6IQwNQ.png?auto=format&w=500 500w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/n4UGfIn0foQuAq6IQwNQ.png?auto=format&w=571 571w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/n4UGfIn0foQuAq6IQwNQ.png?auto=format&w=650 650w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/n4UGfIn0foQuAq6IQwNQ.png?auto=format&w=741 741w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/n4UGfIn0foQuAq6IQwNQ.png?auto=format&w=845 845w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/n4UGfIn0foQuAq6IQwNQ.png?auto=format&w=964 964w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/n4UGfIn0foQuAq6IQwNQ.png?auto=format&w=1098 1098w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/n4UGfIn0foQuAq6IQwNQ.png?auto=format&w=1252 1252w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/n4UGfIn0foQuAq6IQwNQ.png?auto=format&w=1428 1428w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/n4UGfIn0foQuAq6IQwNQ.png?auto=format&w=1600 1600w"><figcaption>The PageSpeed Insights UI</figcaption></figure></li></ol><h3 id="extension" tabindex="-1"><a href="#extension" class="heading-link" aria-hidden="true">#</a> Run Lighthouse as a Chrome Extension</h3><div class="aside aside--caution"><div class="aside__label gap-bottom-300"><svg height="24" width="24" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" fill="none"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 15v-2h2v2h-2zm0-10v6h2V7h-2z" clip-rule="evenodd" fill-rule="evenodd"/></svg><span>Caution</span></div><p>Unless you have a specific reason, you should use the <a href="#devtools">Chrome DevTools workflow</a> rather than this Chrome Extension workflow. The DevTools workflow allows for testing local sites and authenticated pages, while the extension does not.</p></div><p>To install the extension:</p><ol><li>Download [Google Chrome for Desktop][desktop].</li><li>Install the <a href="http://web.archive.org/web/20221005022630/https://chrome.google.com/webstore/detail/lighthouse/blipmdconlkpinefehnmjammfjpmpbjk">Lighthouse Chrome Extension</a> from the Chrome Webstore.</li></ol><p>To run an audit:</p><ol><li><p>In Chrome, go to the page you want to audit.</p></li><li><p>Click the <img alt="Lighthouse extension icion" decoding="async" height="24" loading="lazy" src="http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/w7RtkdkOvvOt2Z1RebHL.svg" width="24"> Lighthouse. It should be next to the Chrome address bar. If not, open Chrome's extension menu and access it from there. After clicking, the Lighthouse menu expands.</p><figure><img alt="The Lighthouse extension" decoding="async" height="783" loading="lazy" src="http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/uXhSoI1FesKIunnVU4Xq.png?auto=format" width="800" sizes="(min-width: 800px) 800px, calc(100vw - 48px)" srcset="http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/uXhSoI1FesKIunnVU4Xq.png?auto=format&w=200 200w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/uXhSoI1FesKIunnVU4Xq.png?auto=format&w=228 228w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/uXhSoI1FesKIunnVU4Xq.png?auto=format&w=260 260w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/uXhSoI1FesKIunnVU4Xq.png?auto=format&w=296 296w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/uXhSoI1FesKIunnVU4Xq.png?auto=format&w=338 338w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/uXhSoI1FesKIunnVU4Xq.png?auto=format&w=385 385w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/uXhSoI1FesKIunnVU4Xq.png?auto=format&w=439 439w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/uXhSoI1FesKIunnVU4Xq.png?auto=format&w=500 500w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/uXhSoI1FesKIunnVU4Xq.png?auto=format&w=571 571w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/uXhSoI1FesKIunnVU4Xq.png?auto=format&w=650 650w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/uXhSoI1FesKIunnVU4Xq.png?auto=format&w=741 741w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/uXhSoI1FesKIunnVU4Xq.png?auto=format&w=845 845w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/uXhSoI1FesKIunnVU4Xq.png?auto=format&w=964 964w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/uXhSoI1FesKIunnVU4Xq.png?auto=format&w=1098 1098w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/uXhSoI1FesKIunnVU4Xq.png?auto=format&w=1252 1252w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/uXhSoI1FesKIunnVU4Xq.png?auto=format&w=1428 1428w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/uXhSoI1FesKIunnVU4Xq.png?auto=format&w=1600 1600w"><figcaption>The Lighthouse extension panel</figcaption></figure></li><li><p>Click <strong>Generate report</strong>. Lighthouse runs its audits against the currently-focused page, then opens up a new tab with a report of the results.</p><figure><img alt="The Lighthouse extension report" decoding="async" height="783" loading="lazy" src="http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/BP0wv7UPlZw2YSNkalAt.png?auto=format" width="800" sizes="(min-width: 800px) 800px, calc(100vw - 48px)" srcset="http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/BP0wv7UPlZw2YSNkalAt.png?auto=format&w=200 200w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/BP0wv7UPlZw2YSNkalAt.png?auto=format&w=228 228w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/BP0wv7UPlZw2YSNkalAt.png?auto=format&w=260 260w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/BP0wv7UPlZw2YSNkalAt.png?auto=format&w=296 296w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/BP0wv7UPlZw2YSNkalAt.png?auto=format&w=338 338w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/BP0wv7UPlZw2YSNkalAt.png?auto=format&w=385 385w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/BP0wv7UPlZw2YSNkalAt.png?auto=format&w=439 439w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/BP0wv7UPlZw2YSNkalAt.png?auto=format&w=500 500w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/BP0wv7UPlZw2YSNkalAt.png?auto=format&w=571 571w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/BP0wv7UPlZw2YSNkalAt.png?auto=format&w=650 650w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/BP0wv7UPlZw2YSNkalAt.png?auto=format&w=741 741w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/BP0wv7UPlZw2YSNkalAt.png?auto=format&w=845 845w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/BP0wv7UPlZw2YSNkalAt.png?auto=format&w=964 964w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/BP0wv7UPlZw2YSNkalAt.png?auto=format&w=1098 1098w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/BP0wv7UPlZw2YSNkalAt.png?auto=format&w=1252 1252w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/BP0wv7UPlZw2YSNkalAt.png?auto=format&w=1428 1428w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/BP0wv7UPlZw2YSNkalAt.png?auto=format&w=1600 1600w"><figcaption>A Lighthouse report from the extension</figcaption></figure></li></ol><h2 id="report-viewer" tabindex="-1"><a href="#report-viewer" class="heading-link" aria-hidden="true">#</a> Share and view reports online</h2><p>Use the <a href="http://web.archive.org/web/20221005022630/https://googlechrome.github.io/lighthouse/viewer/">Lighthouse Viewer</a> to view and share reports online.</p><figure><img alt="The Lighthouse Viewer" decoding="async" height="578" loading="lazy" src="http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/3X1B62nzU8SQyY6hWzYo.png?auto=format" width="800" sizes="(min-width: 800px) 800px, calc(100vw - 48px)" srcset="http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/3X1B62nzU8SQyY6hWzYo.png?auto=format&w=200 200w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/3X1B62nzU8SQyY6hWzYo.png?auto=format&w=228 228w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/3X1B62nzU8SQyY6hWzYo.png?auto=format&w=260 260w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/3X1B62nzU8SQyY6hWzYo.png?auto=format&w=296 296w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/3X1B62nzU8SQyY6hWzYo.png?auto=format&w=338 338w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/3X1B62nzU8SQyY6hWzYo.png?auto=format&w=385 385w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/3X1B62nzU8SQyY6hWzYo.png?auto=format&w=439 439w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/3X1B62nzU8SQyY6hWzYo.png?auto=format&w=500 500w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/3X1B62nzU8SQyY6hWzYo.png?auto=format&w=571 571w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/3X1B62nzU8SQyY6hWzYo.png?auto=format&w=650 650w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/3X1B62nzU8SQyY6hWzYo.png?auto=format&w=741 741w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/3X1B62nzU8SQyY6hWzYo.png?auto=format&w=845 845w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/3X1B62nzU8SQyY6hWzYo.png?auto=format&w=964 964w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/3X1B62nzU8SQyY6hWzYo.png?auto=format&w=1098 1098w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/3X1B62nzU8SQyY6hWzYo.png?auto=format&w=1252 1252w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/3X1B62nzU8SQyY6hWzYo.png?auto=format&w=1428 1428w, http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/3X1B62nzU8SQyY6hWzYo.png?auto=format&w=1600 1600w"><figcaption>The Lighthouse Viewer</figcaption></figure><h3 id="json" tabindex="-1"><a href="#json" class="heading-link" aria-hidden="true">#</a> Share reports as JSON</h3><p>The Lighthouse Viewer needs the JSON output of a Lighthouse report. The list below explains how to get the JSON output, depending on what Lighthouse workflow you're using:</p><ul><li><strong>Lighthouse report</strong>. Open the top-right <img alt="Menu icon" decoding="async" height="24" loading="lazy" src="http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/IkQvYAlLERcWD3CgBTRb.svg" width="24"> menu and click <img alt="Save as JSON button" decoding="async" height="24" loading="lazy" src="http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/5Vy45RXMx3K1b7xM5JZH.svg" width="24"> <strong>Save as JSON</strong></li><li><strong>Command line</strong>. Run:<pre class="language-shell"><code class="language-shell">lighthouse --output json --output-path <span class="token operator"><</span>path/for/output.json<span class="token operator">></span></code></pre></li></ul><p>To view the report data:</p><ol><li>Open the <a href="http://web.archive.org/web/20221005022630/https://googlechrome.github.io/lighthouse/viewer/">Lighthouse Viewer</a>.</li><li>Drag the JSON file onto the viewer, or click anywhere in the Viewer to open your file navigator and select the file.</li></ol><h3 id="gists" tabindex="-1"><a href="#gists" class="heading-link" aria-hidden="true">#</a> Share reports as GitHub Gists</h3><p>If you don't want to manually pass around JSON files, you can also share your reports as secret GitHub gists. One benefit of gists is free version control.</p><p>To export a report as a gist from the report:</p><ol><li>(If already on the viewer, skip this step) Open the top-right <img alt="Menu icon" decoding="async" height="24" loading="lazy" src="http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/IkQvYAlLERcWD3CgBTRb.svg" width="24"> menu, then click <img alt="Open in viewer button" decoding="async" height="24" loading="lazy" src="http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/aGQOmcH5nFDGkcw4iqp5.svg" width="24"> <strong>Open In Viewer</strong>. The report opens in the Viewer, located at <code>https://googlechrome.github.io/lighthouse/viewer/</code>.</li><li>In the Viewer, open the top-right <img alt="Menu icon" decoding="async" height="24" loading="lazy" src="http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/IkQvYAlLERcWD3CgBTRb.svg" width="24"> menu, then click <img alt="Open in viewer button" decoding="async" height="24" loading="lazy" src="http://web.archive.org/web/20221005022630im_/https://wd.imgix.net/image/MtjnObpuceYe3ijODN3a79WrxLU2/aGQOmcH5nFDGkcw4iqp5.svg" width="24"> <strong>Save as Gist</strong>. The first time you do this, a popup asks permission to access your basic GitHub data, and to read and write to your gists.</li></ol><p>To export a report as a gist from the CLI version of Lighthouse, <a href="http://web.archive.org/web/20221005022630/https://gist.github.com/">manually create a gist</a> and copy-paste the report's JSON output into the gist. The gist filename containing the JSON output must end in <code>.lighthouse.report.json</code>. See <a href="#json">Share reports as JSON</a> for an example of how to generate JSON output from the command line tool.</p><p>To view a report that's been saved as a gist:</p><ul><li>Add <code>?gist=<ID></code> to the Viewer's URL, where <code><ID></code> is the ID of the gist.<pre class="language-text"><code class="language-text">https://googlechrome.github.io/lighthouse/viewer/?gist=<id></id></code></pre></li><li>Open the <a href="http://web.archive.org/web/20221005022630/https://googlechrome.github.io/lighthouse/viewer/">Viewer</a>, and paste the URL of a gist into it.</li></ul><h2 id="extensibility" tabindex="-1"><a href="#extensibility" class="heading-link" aria-hidden="true">#</a> Lighthouse extensibility</h2><p>Lighthouse aims to provide guidance that is relevant and actionable for all web developers. To this end, there are two features available that allow you to tailor Lighthouse to your specific needs.</p><h3 id="stack-packs" tabindex="-1"><a href="#stack-packs" class="heading-link" aria-hidden="true">#</a> Stack Packs</h3><p>Developers use many different technologies (backend/CMS/JavaScript frameworks) to build their web pages. Instead of only surfacing general recommendations, Lighthouse is now able to provide more relevant and actionable advice depending on the tools used.</p><p>"Stack Packs" allow Lighthouse to detect what platform your site is built on and display specific stack-based recommendations. These recommendations are defined and curated by experts from the community.</p><p>To contribute a Stack Pack, review the <a href="http://web.archive.org/web/20221005022630/https://github.com/GoogleChrome/lighthouse-stack-packs/blob/master/CONTRIBUTING.md">Contributing Guidelines</a>.</p><h3 id="lighthouse-plugins" tabindex="-1"><a href="#lighthouse-plugins" class="heading-link" aria-hidden="true">#</a> Lighthouse Plugins</h3><p>Lighthouse Plugins allow domain experts to extend the functionality of Lighthouse for their community's specific needs. You are now able to leverage the data that Lighthouse collects to create new audits. At its core, a Lighthouse plugin is a node module that implements a set of checks that will be run by Lighthouse and added to the report as a new category.</p><p>For more information about how to create your own plugin, check out our <a href="http://web.archive.org/web/20221005022630/https://github.com/GoogleChrome/lighthouse/blob/master/docs/plugins.md">Plugin Handbook</a> in the Lighthouse GitHub repo.</p><h2 id="integrate" tabindex="-1"><a href="#integrate" class="heading-link" aria-hidden="true">#</a> Integrate Lighthouse</h2><p>If you are a company or an individual who is integrating Lighthouse as part of the products / services you're offering, first things first - we're so excited you are! We want as many people as possible to use Lighthouse, and this <a href="http://web.archive.org/web/20221005022630/https://docs.google.com/document/d/e/2PACX-1vRWKW9RiB3suYt1KqgBJhwLnvV-AiFne8iAudADtwK-LWLNParYsFts92InHNtB_BV5x-xtSVcnTO2n/pub">Guidelines and Brand Assets for Integrating Lighthouse</a> is meant to make it straightforward for you to show that Lighthouse is under the hood while protecting our brand.</p><h2 id="contribute" tabindex="-1"><a href="#contribute" class="heading-link" aria-hidden="true">#</a> Contribute to Lighthouse</h2><p>Lighthouse is open source and <a href="http://web.archive.org/web/20221005022630/https://github.com/GoogleChrome/lighthouse/blob/master/CONTRIBUTING.md">contributions are welcome</a>! Check out the repository's <a href="http://web.archive.org/web/20221005022630/https://github.com/GoogleChrome/lighthouse/issues">issue tracker</a> to find <a href="http://web.archive.org/web/20221005022630/https://github.com/GoogleChrome/lighthouse/labels/good%20first%20issue">bugs that you can fix</a>, or audits that you can create or improve upon. The issues tracker is also a good place to discuss performance metrics, ideas for new audits, or anything else related to Lighthouse.</p></div><p class="color-secondary-text type--caption">Last updated: <time>Tuesday, May 24, 2022</time> <a href="http://web.archive.org/web/20221005022630/https://github.com/GoogleChrome/developer.chrome.com//blob/main/site/en/docs/lighthouse/overview/index.md">Improve article</a></p></article><div class="pad-right-400 display-none toc-container xl:display-block"><toc-active class="scrollbar"><div class="color-secondary-text type--h6">Table of contents</div><div class="toc__wrapper"><ul><li><a href="#get-started">Get started</a><ul><li><a href="#devtools">Run Lighthouse in Chrome DevTools</a></li><li><a href="#cli">Install and run the Node command line tool</a></li><li><a href="#psi">Run PageSpeed Insights</a></li><li><a href="#extension">Run Lighthouse as a Chrome Extension</a></li></ul></li><li><a href="#report-viewer">Share and view reports online</a><ul><li><a href="#json">Share reports as JSON</a></li><li><a href="#gists">Share reports as GitHub Gists</a></li></ul></li><li><a href="#extensibility">Lighthouse extensibility</a><ul><li><a href="#stack-packs">Stack Packs</a></li><li><a href="#lighthouse-plugins">Lighthouse Plugins</a></li></ul></li><li><a href="#integrate">Integrate Lighthouse</a></li><li><a href="#contribute">Contribute to Lighthouse</a></li></ul></div></toc-active></div></div></div></main><footer class="gap-top-1000 lg:pad-left-600 lg:pad-right-600 type--footer" data-search-inert data-side-nav-inert><div class="pad-right-400 pad-left-400 lg:pad-left-0 lg:pad-right-0 pad-bottom-600 pad-top-600 hairline-bottom"><div class="display-flex direction-column lg:direction-row lg:align-center"><div class="footer__heading">Follow us</div><div class="display-flex gap-top-300 color-secondary-text lg:gap-top-0"><a href="http://web.archive.org/web/20221005022630/https://www.youtube.com/user/ChromeDevelopers" class="color-secondary-text display-inline-flex lg:gap-left-400" aria-label="YouTube"><svg height="24" width="24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="icon" fill="none" viewbox="0 0 24 24"><path d="M21.58 7.19c-.23-.86-.91-1.54-1.77-1.77C18.25 5 12 5 12 5s-6.25 0-7.81.42c-.86.23-1.54.91-1.77 1.77C2 8.75 2 12 2 12s0 3.25.42 4.81c.23.86.91 1.54 1.77 1.77C5.75 19 12 19 12 19s6.25 0 7.81-.42c.86-.23 1.54-.91 1.77-1.77C22 15.25 22 12 22 12s0-3.25-.42-4.81zM10 15V9l5.2 3-5.2 3z"/></svg> </a><a href="http://web.archive.org/web/20221005022630/https://twitter.com/ChromiumDev" class="color-secondary-text display-inline-flex gap-left-400" aria-label="Twitter"><svg height="24" width="24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="icon" fill="none" viewbox="0 0 24 24"><path d="M20 2H4c-1.1 0-1.99.9-1.99 2L2 20c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-2.29 7.33c-.06 4.62-3.02 7.78-7.42 7.98-1.82.08-3.14-.5-4.28-1.23 1.34.21 3.01-.32 3.9-1.09-1.32-.13-2.1-.8-2.46-1.88.38.07.78.05 1.14-.03-1.19-.4-2.04-1.13-2.08-2.67.33.15.68.29 1.14.32-.9-.5-1.55-2.35-.8-3.57 1.32 1.45 2.91 2.63 5.52 2.79-.65-2.8 3.06-4.32 4.61-2.44.66-.13 1.19-.38 1.7-.65-.21.65-.62 1.1-1.12 1.47.54-.07 1.03-.21 1.44-.41-.25.53-.81 1.01-1.29 1.41z"/></svg></a></div></div></div><div class="pad-right-400 pad-left-400 lg:pad-left-0 lg:pad-right-0 pad-bottom-600 pad-top-600 hairline-bottom"><div class="display-flex direction-column lg:direction-row justify-content-between"><div class="flex-1 footer__stack stack-recursive"><div class="footer__heading">Contribute</div><ul class="gap-bottom-0 pad-0" role="list"><li><a href="http://web.archive.org/web/20221005022630/https://github.com/GoogleChrome/developer.chrome.com/issues/new?assignees=&labels=bug&template=bug_report.md&title=" class="footer__link">File a bug</a></li><li><a href="http://web.archive.org/web/20221005022630/https://github.com/GoogleChrome/developer.chrome.com/" class="footer__link">View source</a></li></ul></div><div class="flex-1 footer__stack stack-recursive"><div class="footer__heading">Related content</div><ul class="gap-bottom-0 pad-0" role="list"><li><a href="http://web.archive.org/web/20221005022630/https://web.dev/" class="footer__link">web.dev</a></li><li><a href="http://web.archive.org/web/20221005022630/https://web.dev/tags/case-study/" class="footer__link">Case studies</a></li><li><a href="http://web.archive.org/web/20221005022630/https://web.dev/podcasts/" class="footer__link">Podcasts</a></li></ul></div><div class="flex-1 footer__stack stack-recursive"><div class="footer__heading">Connect</div><ul class="gap-bottom-0 pad-0" role="list"><li><a href="http://web.archive.org/web/20221005022630/https://twitter.com/chromiumdev/" class="footer__link">Twitter</a></li><li><a href="http://web.archive.org/web/20221005022630/https://www.youtube.com/user/ChromeDevelopers" class="footer__link">YouTube</a></li><li><a href="http://web.archive.org/web/20221005022630/https://github.com/googlechrome" class="footer__link">GitHub</a></li></ul></div></div></div><div class="pad-right-400 pad-left-400 lg:pad-left-0 lg:pad-right-0 pad-bottom-600 pad-top-600"><div class="display-flex direction-column lg:direction-row lg:align-center align-start"><svg height="20" width="180" xmlns="http://www.w3.org/2000/svg" aria-label="Google Developers" fill="none"><path d="M8.36 15.32a7.465 7.465 0 01-3.76-.98 7.287 7.287 0 01-2.72-2.68c-.667-1.147-1-2.42-1-3.82s.333-2.667 1-3.8a7.243 7.243 0 012.72-2.7A7.464 7.464 0 018.36.36c1.08 0 2.087.193 3.02.58.933.387 1.713.927 2.34 1.62l-1.56 1.56a4.78 4.78 0 00-1.66-1.2c-.64-.28-1.353-.42-2.14-.42-.933 0-1.8.22-2.6.66-.8.44-1.44 1.067-1.92 1.88-.467.813-.7 1.747-.7 2.8 0 1.053.24 1.987.72 2.8.48.813 1.12 1.44 1.92 1.88.8.44 1.667.66 2.6.66.84 0 1.547-.127 2.12-.38a5.434 5.434 0 001.54-1.02c.293-.28.54-.64.74-1.08.213-.453.36-.94.44-1.46H8.34v-2h6.98c.08.453.12.84.12 1.16a7.89 7.89 0 01-.44 2.62 5.63 5.63 0 01-1.32 2.16c-1.36 1.427-3.133 2.14-5.32 2.14zm14.05 0c-.987 0-1.873-.227-2.66-.68a5.087 5.087 0 01-1.86-1.9c-.44-.8-.66-1.7-.66-2.7 0-1 .22-1.9.66-2.7a4.939 4.939 0 011.86-1.88c.787-.467 1.673-.7 2.66-.7 1 0 1.893.233 2.68.7.787.453 1.4 1.08 1.84 1.88.44.8.66 1.7.66 2.7 0 1-.22 1.9-.66 2.7a4.939 4.939 0 01-1.84 1.9c-.787.453-1.68.68-2.68.68zm0-2.02c.533 0 1.027-.133 1.48-.4.453-.267.82-.647 1.1-1.14.28-.493.42-1.067.42-1.72 0-.667-.14-1.247-.42-1.74a2.868 2.868 0 00-1.1-1.12 2.867 2.867 0 00-1.48-.4c-.52 0-1.013.133-1.48.4-.453.253-.82.627-1.1 1.12-.267.493-.4 1.073-.4 1.74 0 .653.14 1.227.42 1.72.28.493.647.873 1.1 1.14.453.267.94.4 1.46.4zm12.019 2.02c-.987 0-1.874-.227-2.66-.68a5.087 5.087 0 01-1.86-1.9c-.44-.8-.66-1.7-.66-2.7 0-1 .22-1.9.66-2.7a4.939 4.939 0 011.86-1.88c.786-.467 1.673-.7 2.66-.7 1 0 1.893.233 2.68.7.786.453 1.4 1.08 1.84 1.88.44.8.66 1.7.66 2.7 0 1-.22 1.9-.66 2.7a4.94 4.94 0 01-1.84 1.9c-.787.453-1.68.68-2.68.68zm0-2.02c.533 0 1.026-.133 1.48-.4.453-.267.82-.647 1.1-1.14.28-.493.42-1.067.42-1.72 0-.667-.14-1.247-.42-1.74a2.868 2.868 0 00-1.1-1.12 2.868 2.868 0 00-1.48-.4c-.52 0-1.014.133-1.48.4-.454.253-.82.627-1.1 1.12-.267.493-.4 1.073-.4 1.74 0 .653.14 1.227.42 1.72.28.493.646.873 1.1 1.14.453.267.94.4 1.46.4zm11.878 6.34c-1.24 0-2.266-.293-3.08-.88-.8-.573-1.34-1.247-1.62-2.02l2.08-.86c.2.547.534.98 1 1.3.467.32 1.007.48 1.62.48.92 0 1.64-.28 2.16-.84.534-.56.8-1.333.8-2.32v-.86h-.12c-.32.467-.76.84-1.32 1.12-.546.28-1.173.42-1.88.42-.826 0-1.6-.22-2.32-.66-.706-.44-1.28-1.053-1.72-1.84-.426-.8-.64-1.7-.64-2.7 0-1 .214-1.893.64-2.68.44-.8 1.014-1.42 1.72-1.86a4.276 4.276 0 012.32-.68c.707 0 1.334.14 1.88.42.56.28 1 .653 1.32 1.12h.12V5.08h2.1v9.36c0 1.093-.22 2.033-.66 2.82a4.215 4.215 0 01-1.8 1.78c-.76.4-1.626.6-2.6.6zm.06-6.46c.52 0 1-.127 1.44-.38a2.81 2.81 0 001.06-1.1c.267-.493.4-1.067.4-1.72 0-.667-.133-1.24-.4-1.72-.266-.493-.62-.867-1.06-1.12-.44-.253-.92-.38-1.44-.38-.52 0-1 .133-1.44.4-.44.253-.793.627-1.06 1.12-.266.48-.4 1.047-.4 1.7s.134 1.227.4 1.72c.267.48.62.847 1.06 1.1.44.253.92.38 1.44.38zM54.14.68h2.2V15h-2.2V.68zm9.45 14.64c-.973 0-1.853-.227-2.64-.68a4.838 4.838 0 01-1.82-1.88c-.44-.813-.66-1.72-.66-2.72 0-.96.207-1.84.62-2.64a4.848 4.848 0 011.78-1.92c.76-.48 1.627-.72 2.6-.72 1 0 1.867.22 2.6.66a4.28 4.28 0 011.7 1.84c.387.773.58 1.667.58 2.68 0 .12-.007.24-.02.36a4.16 4.16 0 00-.02.2h-7.64c.067.907.393 1.607.98 2.1.587.493 1.253.74 2 .74 1.147 0 2.027-.533 2.64-1.6l1.88.9a5.195 5.195 0 01-1.84 1.96c-.773.48-1.687.72-2.74.72zm2.52-6.5a2.419 2.419 0 00-.32-.98c-.187-.333-.48-.613-.88-.84-.387-.24-.873-.36-1.46-.36-.653 0-1.22.2-1.7.6-.467.4-.787.927-.96 1.58h5.32zm9.7-8.14h4.6c1.48 0 2.767.3 3.86.9a6.137 6.137 0 012.54 2.54c.6 1.08.9 2.32.9 3.72 0 1.4-.3 2.647-.9 3.74a6.168 6.168 0 01-2.54 2.52c-1.093.6-2.38.9-3.86.9h-4.6V.68zm4.54 12.18c1.6 0 2.847-.44 3.74-1.32.907-.893 1.36-2.127 1.36-3.7 0-1.56-.453-2.787-1.36-3.68-.893-.893-2.14-1.34-3.74-1.34h-2.3v10.04h2.3zm14.042 2.46c-.973 0-1.853-.227-2.64-.68a4.839 4.839 0 01-1.82-1.88c-.44-.813-.66-1.72-.66-2.72 0-.96.207-1.84.62-2.64a4.849 4.849 0 011.78-1.92c.76-.48 1.627-.72 2.6-.72 1 0 1.867.22 2.6.66a4.28 4.28 0 011.7 1.84c.387.773.58 1.667.58 2.68 0 .12-.006.24-.02.36-.013.12-.02.187-.02.2h-7.64c.067.907.394 1.607.98 2.1.587.493 1.254.74 2 .74 1.147 0 2.027-.533 2.64-1.6l1.88.9a5.195 5.195 0 01-1.84 1.96c-.773.48-1.686.72-2.74.72zm2.52-6.5a2.417 2.417 0 00-.32-.98c-.186-.333-.48-.613-.88-.84-.386-.24-.873-.36-1.46-.36-.653 0-1.22.2-1.7.6-.466.4-.786.927-.96 1.58h5.32zm3.136-3.74h2.46l2.72 7.08h.08l2.76-7.08h2.42l-4.14 9.92h-2.2l-4.1-9.92zm16.37 10.24c-.973 0-1.853-.227-2.64-.68a4.84 4.84 0 01-1.82-1.88c-.44-.813-.66-1.72-.66-2.72 0-.96.207-1.84.62-2.64a4.851 4.851 0 011.78-1.92c.76-.48 1.627-.72 2.6-.72 1 0 1.867.22 2.6.66a4.274 4.274 0 011.7 1.84c.387.773.58 1.667.58 2.68 0 .12-.006.24-.02.36-.013.12-.02.187-.02.2h-7.64c.067.907.394 1.607.98 2.1.587.493 1.254.74 2 .74 1.147 0 2.027-.533 2.64-1.6l1.88.9a5.192 5.192 0 01-1.84 1.96c-.773.48-1.686.72-2.74.72zm2.52-6.5a2.402 2.402 0 00-.32-.98c-.186-.333-.48-.613-.88-.84-.386-.24-.873-.36-1.46-.36-.653 0-1.22.2-1.7.6-.466.4-.786.927-.96 1.58h5.32zm4.451-8.14h2.2V15h-2.2V.68zm9.509 14.64c-.986 0-1.873-.227-2.66-.68a5.098 5.098 0 01-1.86-1.9c-.44-.8-.66-1.7-.66-2.7 0-1 .22-1.9.66-2.7a4.949 4.949 0 011.86-1.88c.787-.467 1.674-.7 2.66-.7 1 0 1.894.233 2.68.7.787.453 1.4 1.08 1.84 1.88.44.8.66 1.7.66 2.7 0 1-.22 1.9-.66 2.7a4.937 4.937 0 01-1.84 1.9c-.786.453-1.68.68-2.68.68zm0-2.02c.534 0 1.027-.133 1.48-.4.454-.267.82-.647 1.1-1.14.28-.493.42-1.067.42-1.72 0-.667-.14-1.247-.42-1.74a2.864 2.864 0 00-1.1-1.12 2.865 2.865 0 00-1.48-.4c-.52 0-1.013.133-1.48.4a2.87 2.87 0 00-1.1 1.12c-.266.493-.4 1.073-.4 1.74 0 .653.14 1.227.42 1.72.28.493.647.873 1.1 1.14.454.267.94.4 1.46.4zm7.222-8.22h2.08v1.28h.12c.28-.453.7-.833 1.26-1.14.573-.307 1.22-.46 1.94-.46.853 0 1.64.227 2.36.68.733.453 1.313 1.087 1.74 1.9.44.8.66 1.7.66 2.7 0 1-.22 1.9-.66 2.7a4.992 4.992 0 01-1.74 1.9c-.72.453-1.507.68-2.36.68-.72 0-1.367-.153-1.94-.46-.56-.307-.98-.693-1.26-1.16h-.12l.12 1.4v4.22h-2.2V5.08zm5.02 8.22c.52 0 1-.133 1.44-.4a2.88 2.88 0 001.08-1.14c.28-.507.42-1.08.42-1.72 0-.64-.14-1.207-.42-1.7a2.849 2.849 0 00-1.08-1.16c-.44-.267-.92-.4-1.44-.4a2.83 2.83 0 00-1.46.4c-.44.267-.8.647-1.08 1.14-.267.493-.4 1.067-.4 1.72s.133 1.227.4 1.72c.28.493.64.873 1.08 1.14.453.267.94.4 1.46.4zm11.912 2.02c-.974 0-1.854-.227-2.64-.68a4.834 4.834 0 01-1.82-1.88c-.44-.813-.66-1.72-.66-2.72 0-.96.206-1.84.62-2.64a4.844 4.844 0 011.78-1.92c.76-.48 1.626-.72 2.6-.72 1 0 1.866.22 2.6.66a4.286 4.286 0 011.7 1.84c.386.773.58 1.667.58 2.68 0 .12-.007.24-.02.36a3.41 3.41 0 00-.02.2h-7.64c.066.907.393 1.607.98 2.1a3.02 3.02 0 002 .74c1.146 0 2.026-.533 2.64-1.6l1.88.9a5.2 5.2 0 01-1.84 1.96c-.774.48-1.687.72-2.74.72zm2.52-6.5a2.433 2.433 0 00-.32-.98c-.187-.333-.48-.613-.88-.84-.387-.24-.874-.36-1.46-.36-.654 0-1.22.2-1.7.6-.467.4-.787.927-.96 1.58h5.32zm4.45-3.74h2.08v1.48h.12c.214-.507.6-.927 1.16-1.26.56-.347 1.134-.52 1.72-.52.48 0 .874.067 1.18.2v2.3a3.35 3.35 0 00-1.52-.34c-.72 0-1.326.28-1.82.84-.48.547-.72 1.22-.72 2.02V15h-2.2V5.08zm11.441 10.24c-1.134 0-2.074-.26-2.82-.78-.734-.533-1.254-1.2-1.56-2l1.96-.84c.226.547.553.96.98 1.24.44.28.92.42 1.44.42.546 0 .993-.1 1.34-.3.346-.213.52-.487.52-.82 0-.32-.14-.58-.42-.78-.28-.213-.74-.4-1.38-.56l-1.36-.32a4.5 4.5 0 01-1.94-.96c-.534-.48-.8-1.1-.8-1.86 0-.92.38-1.647 1.14-2.18.76-.547 1.693-.82 2.8-.82.92 0 1.733.193 2.44.58.72.387 1.24.947 1.56 1.68l-1.94.82a1.87 1.87 0 00-.86-.92c-.387-.2-.807-.3-1.26-.3-.44 0-.827.1-1.16.3-.334.187-.5.44-.5.76 0 .28.113.507.34.68.24.173.613.32 1.12.44l1.48.36c1 .253 1.746.64 2.24 1.16.493.507.74 1.12.74 1.84 0 .587-.18 1.12-.54 1.6-.347.48-.834.86-1.46 1.14-.614.28-1.314.42-2.1.42z" fill="#5F6368"/></svg><div class="flex-1 cluster flow-space-300 footer__cluster gap-top-300 lg:flow-space-500 lg:gap-left-500 lg:gap-top-0"><div role="list"><a href="http://web.archive.org/web/20221005022630/https://www.google.com/chrome/" class="footer__link" role="listitem">Chrome</a> <a href="http://web.archive.org/web/20221005022630/https://firebase.google.com/" class="footer__link" role="listitem">Firebase</a> <a href="http://web.archive.org/web/20221005022630/https://developers.google.com/products" class="footer__link" role="listitem">All products</a> <a href="http://web.archive.org/web/20221005022630/https://policies.google.com/privacy" class="footer__link" role="listitem">Privacy</a> <a href="http://web.archive.org/web/20221005022630/https://policies.google.com/terms" class="footer__link" role="listitem">Terms</a></div></div><language-select current="en" supported="en,es,pt,ko,zh,ru,ja,fr,de"></language-select></div><div class="color-secondary-text type--caption gap-top-500">Content available under the CC-BY-SA-4.0 license</div></div></footer></div><announcement-banner class="cookie-banner hairline-top" storage-key="user-cookies"><div class="type--small">We serve cookies on this site to analyze traffic, remember your preferences, and optimize your experience.</div><div class="cookie-banner__controls"><a href="http://web.archive.org/web/20221005022630/https://policies.google.com/technologies/cookies" class="align-center display-inline-flex button-text color-blue-medium material-button">More details <svg height="18px" width="18px" xmlns="http://www.w3.org/2000/svg" class="icon gap-left-200" fill="black" viewbox="0 0 24 24" aria-label="External link" role="img"><path d="M0 0h24v24H0z" fill="none"/><path d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"/></svg> </a><button class="material-button bg-primary button-filled color-bg" data-banner-close-btn>Ok, Got it.</button></div></announcement-banner></body></html><!-- FILE ARCHIVED ON 02:26:30 Oct 05, 2022 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 23:42:34 Nov 25, 2024. JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. SECTION 108(a)(3)). --> <!-- playback timings (ms): captures_list: 0.586 exclusion.robots: 0.026 exclusion.robots.policy: 0.015 esindex: 0.01 cdx.remote: 11.69 LoadShardBlock: 335.647 (6) PetaboxLoader3.datanode: 289.344 (8) PetaboxLoader3.resolve: 330.904 (4) load_resource: 326.52 (2) -->