Test Pages
A collection of browser capability tests used to evaluate feature support and web compatibility.
Available Tests
- Miscellaneous
- User Agent
- Storage
- Device & Network
- Lazy Load Images
- Inputs
- Pickers
- Page Visibility API
- EyeDropper API
- History API
- Geolocation API
- Drag & Drop
- Anti DevTools
- Embedded Browser Detection
- Non-existent Scripts
- Script Flood
- Anti Back Button
- WebAssembly
- Media Codecs
- Color Font Formats
- Cross-Tab Communication Latency
- Web Speech API
- Device Orientation Event
- Notifications API
External
Tests
- HTML5
- CSS3
- WebAssembly
- WebGL
- HTML5 Audio & Video
- Codecs Support
- WebRTC Experiments
- Chrome Demo Space
- WebKit Demos
- WebKit WebGPU Demos
- Web Speech API Demo
- Chrome Experiments
- Web Platform Tests
- Storage Persistence
- Touch Feature Tests
- WebGL Samples
- WebKit Poster Circle
- ReCAPTCHA Demo
- Turnstile Demo
- Turnstile Troubleshooter
- Accessibility Demos
- PaulJAdam’s Accessibility Demos
- Web API Demos
- Privacy Sandbox Demos
- Project Fugu API Support
- Heavy Ad Intervention Demo
- Picture-in-Picture Sample
- Colorimeter
- Popover Hint
- Cross-document View Transition
- IndexedDB Index Performance
- Clipboard Inspector
- Document Picture-in-Picture
- Payments
- Gallery Demo
- Prompt API Playground
- Third Party Cookies
- Hyphenate Test
- JXL Test
- Scroll-driven Animations
- HTTP Forever
- HTTP2 Demo
- Acid3 Test
- Google IPv6 Test
- IPv6 Test
- Cloudflare Network Test
- Demo of Stutters and Tearing
- Jigsaw
- BrowserLeaks
- Permissions
- QUIC
- Widevine
- Service Worker
- Prerender Demo
- Web Notifications
- Chromium Checker
- Keyboard Checker
- Simple Push Demo
- WebGL Report
- Sensor Tester
- JavaScript Sensor Access Demo
- CSS Grid Lanes
- WebGPU Samples
- HTML5 Video Events
- Google Chrome Samples
- Microsoft Edge Demos
- Web Speech API Playground
- Happy Eyeballs Webtester
- Test Happy Eyeballs
- 1.1.1.1
[Notification Generator Peter.sh](https://tests.peter.sh/notification-generator/)
Security
WebGL
Tricky URLs
Simple
- Baseline case (example.test) (https)
- Baseline case (example.test) (http)
- Evil.test, for testing paths do not cause the evil.test origin to be hidden
- URL with username and password
- URL with non-default port
- URL with IPv4 literal hostname
- URL with IPv6 literal hostname
- data: URL (copy and paste URL in Chrome, which disallows top-level navigation to data: URLs)
- ftp:// URL
IDNs & Homoglyphs
RTL
Homoglyphs
- URL uses Cyrillic е instead of e
- URL uses Cyrillic ӑ instead of a
- URL uses Cyrillic а in its own label
- URL uses Cyrillic ӑ in its own label
- URL uses number one instead of l
- URL uses “vv” instead of “w”
- URL uses “0” instead of “o”
- URL with a single letter and numbers uses “O” instead of “0”
- URL with a single letter and numbers uses “l” instead of “1”
- URL with a single letter and numbers uses Cyrillic а instead of Latin a
- URL with a single letter and numbers uses Greek α instead of Latin a
- URL with entire domain name “аррӏе” as all Cyrillic characters
Unusual characters
- URL with non-breaking space in path (U+202F)
- URL with non-breaking space in query (U+202F)
- URL with non-breaking space in fragment (U+202F)
- URL with a lock emoji in the domain
- URL with a banana emoji in the domain
- URL with an emoji in its own label
- URL with an emoji in its TLD
- URL with a lock emoji in the path
- URL with a banana emoji in the query
- URL with a banana emoji in the fragment
- URL with spaces in the path
- URL with spaces in the query
- URL with spaces in the fragment
Long
- Extremely long URL to trigger elision, ending in an url that looks similar to example.test
- Extremely long URL to trigger elision, starting with a url that looks similar to example.test
- A very long path ending in example.test
- A very long query ending in example.test
- A very long fragment ending in example.test
- URL with many subdomains