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.
Connect a gamepad and see all button presses and axis movements visually. Check that every input is detected correctly.
Inject dynamic messages into ARIA live regions and monitor how they trigger screen reader announcements. Debug a11y.
Simulate a full‑page screenshot by stitching screen captures (limited). Works best on simple pages. Use browser’s native capture.
Simulate a PWA receiving shared text, links, and images. Test the Web Share Target API without a server.
Test the Content Indexing API to add a page to the device's content feed. See how your PWA integrates with the OS.
Paste or write a CSS gradient value and instantly see the rendered output. Debug and iterate on gradients quickly. Local preview.
Add web content to the device’s content index (like Google Discover). See the indexed items and delete them.
Send a test CSP violation report and see the ReportingObserver in action. Understand how monitoring works.
Request permission and detect when the user is idle (away from keyboard). See screen lock state. For native‑like apps.
Simulate random mouse moves, clicks, or keystrokes to test idle‑timeout logic. Stops when you move the mouse. Dev test.
Click moving targets as fast as possible. Score time and accuracy. Fun benchmark.
Compare font‑display values (block, swap, fallback, optional) on the fly. See how text renders during web font load. Choose the right strategy.
Enter a URL and see its favicon at all standard sizes. Check if it's properly defined. SEO basic check.
Watch for updates to aria‑live regions and log what a screen reader would announce. Debug live regions.
Test how your page loads under slow, 3G, or offline conditions by intercepting fetch and applying delays. No DevTools needed.
A beautiful full‑screen binary clock showing hours, minutes, seconds in glowing bits. Dark mode perfect for desks.
Paste multiple HTML snippets (header, footer) and a main content, then combine them into a single preview. Static site helper.
Compare text‑rendering: auto, optimizeSpeed, optimizeLegibility, geometricPrecision. See kerning and ligature changes live.
Measure your internet connection speed by downloading and uploading a small test file. Works from your browser.
Upload an image and see a rough simulation of how it might look when printed. Highlights areas that may lose detail.
Check if the browser has captured the beforeinstallprompt event. Understand why your PWA is (or isn't) installable.
Quickly estimate your internet connection speed by downloading a small test file. See class and recommendations.
Scan QR codes using your device camera. Decodes text, URLs, and Wi‑Fi credentials directly in the browser. No data sent to server.
Paste a Content‑Security‑Policy header and get a human‑readable breakdown. See potential risks and suggestions.
Enter a URL and get a rough client-side performance simulation: request count, DOM size, and potential speed tips. No real Lighthouse.
Practice CSS selectors by targeting plates on a virtual restaurant table. 30+ levels. Perfect for beginners.
Keep track of a tennis match: points, games, sets, and deuce. Supports tiebreak. Great for friendly matches. Local.
Set launch angle, initial speed, and height. See the trajectory, max height, and range plotted on a canvas. Learn kinematics.