Compare browsers
Pick two browsers — or two versions of the same browser — to see which features one supports and the other doesn’t. Comparing a browser with an older version of itself shows everything it added in between.
Quick compare:
Chrome 155
1,100
features supported
Safari 27
909
features supported
Difference
269
supported by only one
Shared
870
of 1214 features
- ::columnCSSLimitedChrome 135+Safari ✕
- ::markerCSSLimitedChrome 86+Safari ✕
- ::scroll-buttonScrollingLimitedChrome 135+Safari ✕
- LimitedChrome 54+Safari ✕
- @functionCSSLimitedChrome 139+Safari ✕
- LimitedChrome 134+Safari ✕
- <geolocation>HTMLLimitedChrome 144+Safari ✕
- LimitedChrome 126+Safari ✕
- LimitedChrome 20+Safari ✕
- LimitedChrome 20+Safari ✕
- <link rel="prefetch">Resource hintsLimitedChrome 8+Safari ✕
- <meta name="application-title">Progressive web appLimitedChrome 134+Safari ✕
- LimitedChrome 146+Safari ✕
- <template for>Web APIsLimitedChrome 150+Safari ✕
- 2D canvas opacityCanvasLimitedChrome 32+Safari ✕
- AccelerometerSensorsLimitedChrome 91+Safari ✕
- LimitedChrome 143+Safari ✕
- Anchors (WebXR)WebXRLimitedChrome 85+Safari ✕
- at-rule()CSSLimitedChrome 148+Safari ✕
- attr()CSSLimitedChrome 133+Safari ✕
- Attribution reportingWeb APIsLimitedChrome 133+Safari ✕
- Augmented realityWebXRLimitedChrome 86+Safari ✕
- autocapitalizeWeb APIsLimitedChrome 66+Safari ✕
- Back/forward cache blocking reasonsPerformanceLimitedChrome 125+Safari ✕
- Background fetchWeb APIsLimitedChrome 74+Safari ✕
- Background syncWeb APIsLimitedChrome 49+Safari ✕
- LimitedChrome 111+Safari ✕
- Battery statusWeb APIsLimitedChrome 38+Safari ✕
- beforeinstallpromptProgressive web appLimitedChrome 76+Safari ✕
- border-shapeCSSLimitedChrome 147+Safari ✕
- LimitedChrome 130+Safari ✕
- calc-size()CSSLimitedChrome 129+Safari ✕
- Capture HandleWeb APIsLimitedChrome 102+Safari ✕
- LimitedChrome 62+Safari ✕
- caret-shapeCSSLimitedChrome 144+Safari ✕
- clipboardchangeClipboardLimitedChrome 144+Safari ✕
- CloseWatcherWeb APIsLimitedChrome 126+Safari ✕
- COLRv1CSSLimitedChrome 98+Safari ✕
- LimitedChrome 102+Safari ✕
- LimitedChrome 130+Safari ✕
- Connection allowlistsSecurityLimitedChrome 152+Safari ✕
- LimitedChrome 133+Safari ✕
- LimitedChrome 124+Safari ✕
- LimitedChrome 99+Safari ✕
- controlslistHTMLLimitedChrome 58+Safari ✕
- Cookie storeCookiesLimitedChrome 87+Safari ✕
- cookieStore.get() metadataWeb APIsLimitedChrome 87+Safari ✕
- corner-shapeCSSLimitedChrome 139+Safari ✕
- CPU compute pressureCompute pressureLimitedChrome 125+Safari ✕
- Crash report storageReportingLimitedChrome 145+Safari ✕
- Crash reportingReportingLimitedChrome 96+Safari ✕
- Credentialless iframesSecurityLimitedChrome 110+Safari ✕
- CSS import attributesJavaScriptLimitedChrome 123+Safari ✕
- LimitedChrome 149+Safari ✕
- Custom formats for clipboard itemsClipboardLimitedChrome 104+Safari ✕
- Custom highlights from pointWeb APIsLimitedChrome 140+Safari ✕
- LimitedChrome 67+Safari ✕
- Deprecation reportsReportingLimitedChrome 69+Safari ✕
- Depth sensingWebXRLimitedChrome 90+Safari ✕
- LimitedChrome 81+Safari ✕
- Desynchronized WebGL2 canvasWeb APIsLimitedChrome 81+Safari ✕
- Device memoryWeb APIsLimitedChrome 97+Safari ✕
- Device postureWeb APIsLimitedChrome 132+Safari ✕
- devicePixelRatioWeb APIsLimitedChrome 1+Safari ✕
- LimitedChrome 47+Safari ✕
- Document picture-in-pictureWeb APIsLimitedChrome 130+Safari ✕
- LimitedChrome 83+Safari ✕
- LimitedChrome 136+Safari ✕
- EditContextWeb APIsLimitedChrome 121+Safari ✕
- Element captureWeb APIsLimitedChrome 132+Safari ✕
- Element timing performance entriesPerformanceLimitedChrome 77+Safari ✕
- Element-scoped view transitionsView transitionsLimitedChrome 147+Safari ✕
- Error.isError()JavaScriptLimitedChrome 134+Safari ✕
- Explicit resource managementJavaScriptLimitedChrome 134+Safari ✕
- EyedropperWeb APIsLimitedChrome 96+Safari ✕
- Feature policyWeb APIsLimitedChrome 74+Safari ✕
- Federated credential managementCredential managementLimitedChrome 116+Safari ✕
- Federated credentialsCredential managementLimitedChrome 51+Safari ✕
- LimitedChrome 80+Safari ✕
- Fetch upload streamsFetchLimitedChrome 105+Safari ✕
- fetchLaterFetchLimitedChrome 135+Safari ✕
- File handlersProgressive web appLimitedChrome 102+Safari ✕
- File system accessFile system accessLimitedChrome 86+Safari ✕
- LimitedChrome 150+Safari ✕
- LimitedChrome 87+Safari ✕
- LimitedChrome 143+Safari ✕
- LimitedChrome 121+Safari ✕
- LimitedChrome 131+Safari ✕
- Gamepad (WebXR)WebXRLimitedChrome 79+Safari ✕
- Gamepad touch buttonsGamepadLimitedChrome 73+Safari ✕
- LimitedChrome 149+Safari ✕
- GyroscopeSensorsLimitedChrome 67+Safari ✕
- Hand inputWebXRLimitedChrome 131+Safari ✕
- LimitedChrome 102+Safari ✕
- Hit testWebXRLimitedChrome 81+Safari ✕
- HTML processing instructionsWeb APIsLimitedChrome 150+Safari ✕
- LimitedChrome 144+Safari ✕
- LimitedChrome 109+Safari ✕
- Idle detectionWeb APIsLimitedChrome 94+Safari ✕
- if()CSSLimitedChrome 137+Safari ✕
- IndexedDB getAllRecords()StorageLimitedChrome 141+Safari ✕
- LimitedChrome 110+Safari ✕
- InkWeb APIsLimitedChrome 94+Safari ✕
- LimitedChrome 150+Safari ✕
- LimitedChrome 151+Safari ✕
- LimitedChrome 135+Safari ✕
- LimitedChrome 142+Safari ✕
- LimitedChrome 129+Safari ✕
- LimitedChrome 74+Safari ✕
- Intervention reportsReportingLimitedChrome 69+Safari ✕
- isInputPending()Web APIsLimitedChrome 87+Safari ✕
- Iterator includes()JavaScriptLimitedChrome 154+Safari ✕
- Iterator join()JavaScriptLimitedChrome 153+Safari ✕
- Iterator.zip() and Iterator.zipKeyed()JavaScriptLimitedChrome 153+Safari ✕
- LimitedChrome 130+Safari ✕
- Keyboard lockWeb APIsLimitedChrome 68+Safari ✕
- Keyboard mapWeb APIsLimitedChrome 69+Safari ✕
- Language detectorWeb APIsLimitedChrome 138+Safari ✕
- LanguageModelWeb APIsLimitedChrome 148+Safari ✕
- Launch handlerProgressive web appLimitedChrome 110+Safari ✕
- Layers (WebXR)WebXRLimitedChrome 147+Safari ✕
- Layout instability performance entriesPerformanceLimitedChrome 84+Safari ✕
- LimitedChrome 150+Safari ✕
- Lighting estimationWebXRLimitedChrome 90+Safari ✕
- Local fontsWeb APIsLimitedChrome 103+Safari ✕
- Local network accessWeb APIsLimitedChrome 142+Safari ✕
- Long animation frames performance entriesPerformanceLimitedChrome 123+Safari ✕
- Long task performance entriesPerformanceLimitedChrome 58+Safari ✕
- Memory measurementPerformanceLimitedChrome 89+Safari ✕
- Memory64 (WebAssembly)WebAssemblyLimitedChrome 133+Safari ✕
- moveBefore()DOMLimitedChrome 133+Safari ✕
- Multi-memory (WebAssembly)WebAssemblyLimitedChrome 120+Safari ✕
- LimitedChrome 150+Safari ✕
- Navigation precommit handlersWeb APIsLimitedChrome 146+Safari ✕
- Navigation timing confidenceWeb APIsLimitedChrome 145+Safari ✕
- Non-cookie storage accessStorageLimitedChrome 125+Safari ✕
- LimitedChrome 104+Safari ✕
- ObservableWeb APIsLimitedChrome 135+Safari ✕
- Orientation SensorSensorsLimitedChrome 67+Safari ✕
- overlayCSSLimitedChrome 117+Safari ✕
- overscroll-behaviorScrollingLimitedChrome 144+Safari ✕
- LimitedChrome 1+Safari ✕
- Page lifecycleWeb APIsLimitedChrome 68+Safari ✕
- Page visibility state performance entriesPerformanceLimitedChrome 115+Safari ✕
- LimitedChrome 85+Safari ✕
- paint()CSSLimitedChrome 65+Safari ✕
- Partitioned cookiesCookiesLimitedChrome 114+Safari ✕
- Password credentialsCredential managementLimitedChrome 60+Safari ✕
- path()CSSLimitedChrome 88+Safari ✕
- Payment handlerPaymentsLimitedChrome 70+Safari ✕
- Periodic background syncWeb APIsLimitedChrome 80+Safari ✕
- Permissions policyWeb APIsLimitedChrome 108+Safari ✕
- LimitedChrome 120+Safari ✕
- popover="hint"HTMLLimitedChrome 151+Safari ✕
- LimitedChrome 119+Safari ✕
- Presentation APIWeb APIsLimitedChrome 47+Safari ✕
- ProfilerWeb APIsLimitedChrome 94+Safari ✕
- Protected audienceWeb APIsLimitedChrome 134+Safari ✕
- Protocol handlersProgressive web appLimitedChrome 96+Safari ✕
- LimitedChrome 142+Safari ✕
- LimitedChrome 107+Safari ✕
- Read unsanitized clipboard dataClipboardLimitedChrome 122+Safari ✕
- reading-flowCSSLimitedChrome 137+Safari ✕
- Reference targetWeb componentsLimitedChrome 152+Safari ✕
- Region captureWeb APIsLimitedChrome 104+Safari ✕
- registerProtocolHandlerWeb APIsLimitedChrome 13+Safari ✕
- Related website setsWeb APIsLimitedChrome 119+Safari ✕
- Relaxed-width SIMD (WebAssembly)WebAssemblyLimitedChrome 114+Safari ✕
- requestIdleCallback()Web APIsLimitedChrome 47+Safari ✕
- Responsive iframesWeb APIsLimitedChrome 154+Safari ✕
- Sanitizer APIWeb APIsLimitedChrome 146+Safari ✕
- Save-DataWeb APIsLimitedChrome 65+Safari ✕
- Scheduler APIWeb APIsLimitedChrome 129+Safari ✕
- Scroll marker target pseudo-classesScrollingLimitedChrome 142+Safari ✕
- Scroll markersScrollingLimitedChrome 135+Safari ✕
- Scroll method promisesScrollingLimitedChrome 150+Safari ✕
- Scroll snap eventsScrollingLimitedChrome 129+Safari ✕
- scroll-axis-lockScrollingLimitedChrome 153+Safari ✕
- scroll-initial-targetScrollingLimitedChrome 133+Safari ✕
- scroll-target-groupScrollingLimitedChrome 140+Safari ✕
- scrollIntoView() containerScrollingLimitedChrome 140+Safari ✕
- Secure payment confirmationPaymentsLimitedChrome 139+Safari ✕
- Serializable errorsWeb APIsLimitedChrome 77+Safari ✕
- Share targetsProgressive web appLimitedChrome 89+Safari ✕
- Shared storage locksWeb APIsLimitedChrome 134+Safari ✕
- LimitedChrome 148+Safari ✕
- LimitedChrome 60+Safari ✕
- LimitedChrome 121+Safari ✕
- Signature-based resource integrityResource integrityLimitedChrome 141+Safari ✕
- Soft navigation performance entriesPerformanceLimitedChrome 151+Safari ✕
- Speculation rulesWeb APIsLimitedChrome 109+Safari ✕
- Speech recognitionSpeechLimitedChrome 139+Safari ✕
- Storage bucketsStorageLimitedChrome 122+Safari ✕
- String builtins (WebAssembly)WebAssemblyLimitedChrome 130+Safari ✕
- SummarizerWeb APIsLimitedChrome 138+Safari ✕
- SVG clipboard itemsClipboardLimitedChrome 124+Safari ✕
- symbols()CSSLimitedChrome 155+Safari ✕
- TemporalJavaScriptLimitedChrome 144+Safari ✕
- Text import attributesJavaScriptLimitedChrome 155+Safari ✕
- LimitedChrome 105+Safari ✕
- LimitedChrome 155+Safari ✕
- text-fitCSSLimitedChrome 150+Safari ✕
- text-justifyCSSLimitedChrome 145+Safari ✕
- LimitedChrome 54+Safari ✕
- LimitedChrome 123+Safari ✕
- Touch eventsWeb APIsLimitedChrome 22+Safari ✕
- Transferable streamsStreamsLimitedChrome 87+Safari ✕
- TranslatorWeb APIsLimitedChrome 138+Safari ✕
- User agent client hintsWeb APIsLimitedChrome 90+Safari ✕
- user-selectCSSLimitedChrome 54+Safari ✕
- VibrationWeb APIsLimitedChrome 32+Safari ✕
- Viewport segmentsWeb APIsLimitedChrome 138+Safari ✕
- Virtual keyboardWeb APIsLimitedChrome 94+Safari ✕
- Virtual pressure sourcesCompute pressureLimitedChrome 129+Safari ✕
- Virtual sensorsSensorsLimitedChrome 120+Safari ✕
- Web app origin migrationProgressive web appLimitedChrome 149+Safari ✕
- Web BluetoothWeb APIsLimitedChrome 70+Safari ✕
- Web MIDIWeb APIsLimitedChrome 43+Safari ✕
- Web serialWeb APIsLimitedChrome 89+Safari ✕
- WebDriver BiDiWebDriverLimitedChrome 126+Safari ✕
- WebGPU subgroupsWebGPULimitedChrome 144+Safari ✕
- WebHIDWeb APIsLimitedChrome 89+Safari ✕
- WebUSBWeb APIsLimitedChrome 61+Safari ✕
- WebXRWebXRLimitedChrome 79+Safari ✕
- Wheel events momentumWeb APIsLimitedChrome 151+Safari ✕
- Window Controls OverlayProgressive web appLimitedChrome 105+Safari ✕
- Window managementWeb APIsLimitedChrome 111+Safari ✕
- window-dragCSSLimitedChrome 152+Safari ✕
- window.externalWeb APIsLimitedChrome 9+Safari ✕
- LimitedChrome 119+Safari ✕