Web Share Target Tester - Online Receive Shared Content
Simulate a PWA receiving shared text, links, and images. Test the Web Share Target API without a server.
UD5 Toolkit
Analyzing your site for beforeinstallprompt eligibility
All requirements must be met for beforeinstallprompt to fire
<link rel="manifest"> in document head
beforeinstallprompt event is fired by the browser when a Progressive Web App (PWA) meets all installation criteria. It signals that the browser is ready to show the native install prompt to the user. Developers can intercept this event using e.preventDefault() and trigger the prompt later, allowing custom install flows. This event is crucial for PWA adoption as it indicates the app is installable.
name (or short_name), icons array containing a 192x192 PNG icon and a 512x512 maskable icon, start_url, and display set to standalone, fullscreen, or minimal-ui. Additionally, a Service Worker must be registered and active. The user must also have sufficient engagement with the site (varies by browser).
window.addEventListener('beforeinstallprompt', (e) => { console.log('Install prompt available!', e); deferredPrompt = e; }); Also check Chrome DevTools under Application → Manifest for manifest validation and Application → Service Workers for SW status. The Lighthouse audit can also identify PWA issues automatically.
localhost and 127.0.0.1 without HTTPS. You still need a valid manifest and service worker. Use npx serve or python -m http.server for quick local testing. Chrome also provides a "Add to Home screen" option in DevTools under Application → Manifest for manual testing. For Safari, you need a Mac with Xcode to test iOS PWA installation.
beforeinstallprompt. Safari on iOS/iPadOS uses a different mechanism (WebKit's apple-mobile-web-app-capable meta tag) and does not fire this event. Firefox does not support PWA installation on desktop. Firefox for Android has limited support. Always implement a fallback install flow for unsupported browsers.
name or short_name (app name), icons (array with at least one 192x192 and one 512x512 icon), start_url (the URL to load when the app launches), and display (should be standalone for a native-like experience). Recommended: theme_color, background_color, description, scope, and categories.
beforeinstallprompt again. This period is typically around 90 days for the mini-infobar and 3 months for the full prompt, though the exact duration is not publicly documented and may change. To reset during development, clear site data in Chrome or use an incognito window. On Android, clearing Chrome's storage for the site can also reset this.
Simulate a PWA receiving shared text, links, and images. Test the Web Share Target API without a server.
Inject dynamic messages into ARIA live regions and monitor how they trigger screen reader announcements. Debug a11y.
Generate a Wi‑Fi QR code with full options: WPA3, hidden network, and EAP. Download as SVG. All local.
Watch for updates to aria‑live regions and log what a screen reader would announce. Debug live regions.
Enter a URL and click to check if it's reachable from your browser (CORS-limited, uses no-cors fetch). Quick manual test. Local only.
Create a QR code that lets people connect to your Wi‑Fi without typing a password. Just scan and join. Secure local.
Add web content to the device’s content index (like Google Discover). See the indexed items and delete them.
Request permission and detect when the user is idle (away from keyboard). See screen lock state. For native‑like apps.
Convert English words into their International Phonetic Alphabet (IPA) representation. For pronunciation learning. Local.
Analyze text for keyword frequency and density. Highlights over-optimized terms. Perfect for content writers and SEO editors. Entirely browser-based.
Test the Content Indexing API to add a page to the device's content feed. See how your PWA integrates with the OS.
Test the Fullscreen API: request fullscreen on a colored div, detect changes, and copy the JavaScript boilerplate.
A tiny tool that hooks into the console and lets you export all messages to a file. Helpful for non‑technical bug reporting.
Enter megapixels and desired DPI to see the maximum print size without upscaling. Quick quality check.
Analyze text for subjective and emotionally charged words. Helps identify potential bias in writing. Purely heuristic, local operation.
Scan QR codes using your device camera. Decodes text, URLs, and Wi‑Fi credentials directly in the browser. No data sent to server.
Paste text with mixed Arabic/Hebrew and English. See the Unicode bidi class of each character and ordering. i18n debugger.
Find out if a word is an isogram (no repeating letters). Different types: first-order, second-order. Word nerd fun.
Turn your phone into a 3D compass using the AbsoluteOrientationSensor API. See quaternion and Euler angles in real time.
Measure your typing speed in words per minute and accuracy. Random word prompts. Compare results over time. No data sent.
Quickly estimate your internet connection speed by downloading a small test file. See class and recommendations.
See exact dimensions of your current browser inner/outer window, screen resolution, and pixel ratio. Developer debug.
Enter a URL and get a one‑page report of titles, description, headings, image alts, and broken links. All from browser.
Paste multiple HTML snippets (header, footer) and a main content, then combine them into a single preview. Static site helper.
Measure your internet connection speed by downloading and uploading a small test file. Works from your browser.
Scan QR codes using your device camera or by uploading an image. Instant decoding of URLs, texts, and more. No data sent to server, pure browser processing.
Paste a Content‑Security‑Policy header and get a human‑readable breakdown. See potential risks and suggestions.
Compare two text blocks and highlight differences line by line. Ideal for code review and document revisions. All diffs computed locally for privacy.
Enter a URL and fetch its text/background colors to perform a bulk contrast check. See warnings for WCAG violations.
Enter the amount of leftover paint and see how many square feet it still covers. Plan touch-ups.