Web Share API Tester - Online Demo & Code
Test the Web Share API by sharing text, links, and files directly from the browser. Check compatibility and see example code.
UD5 Toolkit
Live demo to test the browser's Fullscreen API — request fullscreen, exit, monitor events, and check real-time API state. Works on desktop & mobile.
This area can go fullscreen. Click the buttons below to test the Fullscreen API in real time.
Normal ModeElement.requestFullscreen() to enter fullscreen and document.exitFullscreen() to exit. This API is commonly used for video players, presentations, games, code editors, and immersive web experiences.
fullscreenerror event. This prevents malicious websites from hijacking the user's screen without their knowledge. Always trigger requestFullscreen() inside a click, keydown, or touch event handler.
document.exitFullscreen() — note that this method is on the document object, not on the fullscreen element. This is a common mistake. You don't need to know which element is currently fullscreen; simply calling document.exitFullscreen() will exit whatever fullscreen state is active. Users can also press Esc to exit, which triggers a fullscreenchange event just like a programmatic exit would.
navigationUI option is passed to requestFullscreen({ navigationUI: "show" | "hide" | "auto" }) on mobile browsers. It controls whether the browser shows navigation UI (like back buttons) during fullscreen. "show" keeps nav controls visible, "hide" attempts to hide them for a more immersive experience, and "auto" lets the browser decide. Note: not all browsers respect this hint; support is primarily in mobile Chromium-based browsers.
document.fullscreenEnabled. If it returns true, the browser supports the Fullscreen API and allows fullscreen requests. If false, fullscreen is not available — this could be due to browser restrictions, iframe sandboxing (missing allow="fullscreen" attribute), or user-configured permissions. Also check if Element.prototype.requestFullscreen exists for API feature detection.
fullscreenchange fires on the document when entering or exiting fullscreen (check document.fullscreenElement to determine the new state), and fullscreenerror fires when a fullscreen request fails — for example, if the request wasn't triggered by a user gesture, or the target element is not in the DOM. Listen on document for both events.
navigationUI option is particularly relevant on mobile. Note that iOS Safari had some quirks in earlier versions, but recent versions work well with the standard API.
allow="fullscreen" attribute. (4) The browser or OS has disabled fullscreen via permissions. (5) The element has display: none or is otherwise not renderable. Listen to the fullscreenerror event to catch and debug these issues.
<div>, <video>, <canvas>, or even the entire document by calling document.documentElement.requestFullscreen(). Fullscreening a specific element is more common for video players or interactive demos, while fullscreening the document element mimics a "full page" experience. This tool provides both options for testing.
:fullscreen CSS pseudo-class to style elements when they are in fullscreen mode. For example: .my-element:fullscreen { background: #000; }. For cross-browser support, include vendor-prefixed versions: :-webkit-full-screen (Chrome/Safari/Edge), :-moz-full-screen (Firefox), and :-ms-fullscreen (legacy IE/Edge). The standard :fullscreen is now supported by all modern browsers.
Test the Web Share API by sharing text, links, and files directly from the browser. Check compatibility and see example code.
Check current screen orientation and test the lock API. Useful for mobile web apps. Demo with code.
Generate a pop signal to determine if speakers are wired in phase. Quick stereo test.
Display an astigmatism dial and instructions for self-assessment. Educational, not a medical diagnosis.
Hear a word spoken by browser TTS and type the spelling. Choose difficulty or paste your own list. Great for kids. Local only.
Override your browser's geolocation to any coordinates and test how your app responds. For development and privacy testing.
Query the permission state of camera, microphone, geolocation, and more. See the response and learn the API.
Load a video and visually check if audio aligns with lips. Use frame‑by‑frame stepping. Debug playback issues.
Toggle a screen wake lock to prevent the device from dimming or sleeping. See the lock state and learn the API.
Check if your page triggers the beforeinstallprompt event. Simulate the install flow. Debug PWA installability.
Paste your Accept‑Language header and see which languages your site should serve based on quality values. Internationalization helper.
Test how your page loads under slow, 3G, or offline conditions by intercepting fetch and applying delays. No DevTools needed.
Acquire and release locks across tabs. Prevent race conditions in IndexedDB or localStorage. Visual queue and lock state.
Override your browser's geolocation to any coordinates and test how your app responds. For development and privacy testing.
Press any key to see the complete KeyboardEvent properties: key, code, keyCode, modifiers. Indispensable for game & shortcut developers.
Check if your browser and display support the wider DCI‑P3 color space. See the difference with a simple test pattern.
Enter any phrase and instantly see if it's a palindrome, ignoring spaces and punctuation. Fun for word nerds.
Generate random, formatted ID numbers that match pattern rules for various countries. For testing input validation. No real data.
Pick a method, URL, headers, and body, then send an HTTP request directly from your browser. Debug APIs easily.
Quickly test if your webcam, microphone, and speakers work correctly. See live video and audio meter. No data sent.
Generate random but realistic‑looking data arrays (users, products, orders) with typos and missing fields. For test robustness.
Simple interactive eye dominance test: hold up a virtual dot and see which eye stays aligned. Educational.
Build an iframe with different sandbox flags and see live which features are blocked. For secure embedding.
Simulate random mouse moves, clicks, or keystrokes to test idle‑timeout logic. Stops when you move the mouse. Dev test.
Paste a test card number to verify Luhn algorithm, identify issuer (Visa, MC), and check length. No real data.
Paste any JavaScript snippet and get a ready‑to‑drag bookmarklet link. Minify and encode automatically. Pure client.
Play left‑only, right‑only, and frequency sweeps to test your speakers or headphones. Quick audio check.
See a live VU meter of your microphone's input level. Test if your mic is working and adjust gain. Privacy‑friendly.
Find safe mixing ratios for the classic elephant toothpaste demonstration. Volume adjustments for different container sizes.
Minify JavaScript and CSS code to reduce file size for production. Remove whitespace and comments instantly. Run locally, your code stays private.