User Idle Time Display - Online See Seconds Since Activity
Shows a counter of how many seconds you have been idle. Tracks mouse and keyboard activity without recording.
UD5 Toolkit
Real-time user activity monitoring using Idle Detection API with smart fallback
Native API AvailableClick "Start Monitoring" to begin
mousemove, mousedown, keydown, scroll, and touchstart. A timer continuously checks if the configured threshold has elapsed since the last detected user interaction. If so, the user is marked as idle. Note that screen lock detection is not available in fallback mode, and background tabs may report inaccurately due to browser throttling of timers.
IdleDetector.requestPermission(). The permission can be managed under Site Settings → Permissions → Idle Detection. The request must be initiated from a user gesture (e.g., button click). If denied, the API cannot be used until the user manually changes the setting.
TypeError. This limit is intentionally set to protect user privacy and prevent websites from overly granular monitoring of user behavior. In fallback mode, this tool respects the same minimum threshold for consistency.
"active") or has been idle beyond the threshold ("idle"). screenState indicates whether the device screen is "unlocked" or "locked". These are independent — a user can be idle with the screen unlocked, but a locked screen always implies the user is idle.
if ('IdleDetector' in window). Then request permission using await IdleDetector.requestPermission() inside a user gesture handler. Create a detector instance, start it with a threshold: await detector.start({ threshold: 60000 }), and listen for changes via detector.addEventListener('change', handler). Always provide a graceful fallback for unsupported browsers using event-based activity monitoring.
Shows a counter of how many seconds you have been idle. Tracks mouse and keyboard activity without recording.
Simulate random mouse moves, clicks, or keystrokes to test idle‑timeout logic. Stops when you move the mouse. Dev test.
Check if the current page can be loaded offline by examining the service worker cache. Developer tool for PWAs.
Configure how your PWA launches: focus existing or create new. Test with the launch_handler manifest field.
Compress and decompress text using the browser's native Compression Streams API. See the binary output size.
Watch for updates to aria‑live regions and log what a screen reader would announce. Debug live regions.
Query the permission state of camera, microphone, geolocation, and more. See the response and learn the API.
Connect a MIDI controller and see every message in a log. Filter by channel and type. Essential for debugging music apps.
Connect a game controller and see every button press, axis movement, and vibration test. Uses the Gamepad API.
Unified input demo: see pressure, tilt, and type from any pointer. Compare pointerType values. Essential for drawing apps.
Write JavaScript using element.animate() and see the result in a live preview. Compare with CSS keyframes. Debugger included.
Toggle a screen wake lock to prevent the device from dimming or sleeping. See the lock state and learn the API.
Test the experimental Translation API to translate text between languages directly in the browser, without cloud calls. Check support and copy the JavaScript starter.
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.
Experiment with the Federated Credential Management API. Simulate a sign‑in flow without third‑party cookies. Privacy‑first.
Request HID devices and list them. Read input reports and send output. For custom hardware and controllers.
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.
Display your effective connection type (4g, 3g, etc.) and downlink speed using the Navigator API. Adapt your app accordingly.
See your device's battery level, charging status, and discharge time using the Battery Status API. Fun utility.
Check current screen orientation and test the lock API. Useful for mobile web apps. Demo with code.
Test the new HTML popover attribute for creating accessible tooltips, menus, and dialogs without JavaScript. Copy code snippets.
See the View Transitions API in action. Cross‑fade and morph between two states. Copy the JavaScript starter code.
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.
Enter an API URL and quickly check its HTTP status code and response time. See response headers and body. Browser fetch.
Pick a method, URL, headers, and body, then send an HTTP request directly from your browser. Debug APIs easily.