Content Indexing API Demo - Online Show in System Launcher
Add web content to the device’s content index (like Google Discover). See the indexed items and delete them.
UD5 Toolkit
Quickly test if your content can be indexed by the browser’s Content Index and appear in the device’s media feed or downloads surface.
Checking...
This tool calls navigator.contentIndexing.add() with the data you provide. If the API is supported, the browser may index your content and show it in:
A registered Service Worker is recommended for offline content playback.
const item = {
id: 'post-1',
title: 'My Article',
description: '...',
url: 'https://...',
icons: [{
src: 'https://.../icon.png',
sizes: '192x192',
type: 'image/png'
}],
category: 'article'
};
try {
await navigator.contentIndexing.add(item);
} catch (e) {
console.error(e);
}
navigator.contentIndexing.add() can be called without a Service Worker, but for the indexed content to be useful (offline playback), you should register a fetch handler in a Service Worker. Without one, the browser may still index the URL, but opening it might fail when offline.
localhost (which is considered secure) or a tool like ngrok. Also enable the #content-indexing flag in chrome://flags if it's not already on.
navigator.contentIndexing.delete(id) to remove an item by its ID. There is no direct update method — delete and re-add with the same ID to update.
article, video, audio, or homepage help the browser present the item properly. There is no strict content‑type enforcement.
Add web content to the device’s content index (like Google Discover). See the indexed items and delete them.
Simulate a PWA receiving shared text, links, and images. Test the Web Share Target API without a server.
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.
Check if the browser has captured the beforeinstallprompt event. Understand why your PWA is (or isn't) installable.
Load a video and visually check if audio aligns with lips. Use frame‑by‑frame stepping. Debug playback issues.
Unified input demo: see pressure, tilt, and type from any pointer. Compare pointerType values. Essential for drawing apps.
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.
Decode an image progressively using the ImageDecoder API. See partial results and metadata. Modern alternative to <img>.
Decode individual video frames from a local file using the VideoDecoder API. Step through frames. Cutting‑edge browser feature.
Demonstrate how the Web OTP API automatically reads one‑time codes from SMS (mobile). Simulation with a fake SMS input.
Acquire and release locks across tabs. Prevent race conditions in IndexedDB or localStorage. Visual queue and lock state.
Connect a gamepad and see all button presses and axis movements visually. Check that every input is detected correctly.
Trigger different vibration patterns on mobile devices. Test if your phone supports haptic feedback. Simple demo.
Check current screen orientation and test the lock API. Useful for mobile web apps. Demo with code.
Test the Fullscreen API: request fullscreen on a colored div, detect changes, and copy the JavaScript boilerplate.
Experiment with the Async Clipboard API: read/write text and images from the clipboard. Verify permissions and see demo code.
Test the Web Share API by sharing text, links, and files directly from the browser. Check compatibility and see example code.
Check if your browser and display support the wider DCI‑P3 color space. See the difference with a simple test pattern.
Enter an API URL and quickly check its HTTP status code and response time. See response headers and body. Browser fetch.
Generate random, formatted ID numbers that match pattern rules for various countries. For testing input validation. No real data.
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.
Play left‑only, right‑only, and frequency sweeps to test your speakers or headphones. Quick audio check.