Keyboard Event Viewer - Online key, code, keyCode Inspector
Press any key to see the complete KeyboardEvent properties: key, code, keyCode, modifiers. Indispensable for game & shortcut developers.
UD5 Toolkit
Online AutoβRead SMS Codes Simulator β Experience the Web OTP API with AbortController
AbortController: not created
signal: inactive
// Web OTP API with AbortController
const abortController = new AbortController();
async function requestOTP() {
try {
const otp = await navigator.credentials.get({
otp: { transport: ['sms'] },
signal: abortController.signal
});
// OTP extracted successfully
console.log('OTP:', otp.code);
return otp.code;
} catch (err) {
if (err.name === 'AbortError') {
console.log('OTP listening cancelled');
}
throw err;
}
}
// To cancel listening:
abortController.abort();
navigator.credentials.get() with the otp option.
@example.com Your verification code is: 123456@domain must appear in the SMS body (preferably at the beginning or end)@example.com 123456123456 is your code @example.com@example.com Your OTP for login is 123456. Do not share it.@yourdomain.com and the OTP code{otp: {transport: ['sms']}}@domain prefix serves as a security mechanism to ensure that only the intended website can read the OTP from an SMS. When the browser receives an SMS, it checks if the @domain in the message matches the origin of the web page that called the API. This prevents malicious websites from intercepting OTPs meant for other services. Without this requirement, any website could potentially read any OTP SMS, creating a significant security vulnerability. The domain matching uses the eTLD+1 rule, meaning @example.com will also match requests from app.example.com or www.example.com.
Press any key to see the complete KeyboardEvent properties: key, code, keyCode, modifiers. Indispensable for game & shortcut developers.
Generate a standard XML sitemap for your website by entering a start URL. Crawls internal links directly from your browser. No server-side processing.
Use the CSS Custom Highlight API to style arbitrary text ranges without modifying the DOM. See the future of findβinβpage.
Log which family member takes which medicine and when. Reminders for next dose. Data stays local.
Estimate how many MB/GB your storage can hold based on navigator.storage.estimate() and display as a pie chart.
See the International Space Stationβs current position on a world map in real time. Uses public API. No refresh.
Check current browser storage usage (localStorage, IndexedDB, Cache) and available quota. Handy debugging tool.
A small widget that records your clipboard text history (only while open). Search and reβcopy old snippets. No log upload.
Create a sticky scroll progress bar for blog posts. Choose colors and height. Copy the minimal CSS and HTML.
Enter a URL and see a list of its ARIA landmarks (banner, main, nav). Check document structure for accessibility. Local fetch.
Enter readings before/after meals, get averages, print report. Local storage only.
Build a complete Nginx location block for reverse proxy, static files, or redirect. Copy the snippet. Quick config help.
Browse a collection of ready-to-use CSS animations (fade, slide, bounce). Click to preview, then copy @keyframes and class to your project. Local tool.
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.
Connect a game controller and see every button press, axis movement, and vibration test. Uses the Gamepad API.
Test required, pattern, minlength etc. See validity states and custom error messages. Learn browserβnative validation.
Unified input demo: see pressure, tilt, and type from any pointer. Compare pointerType values. Essential for drawing apps.
Modify the DOM via buttons and see MutationRecords logged. Understand childList, attributes, and subtree options.
Drag to resize a box and see the Resize Observer callback fire. Get contentRect and borderBoxSize. Learn the API.
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.
Register a oneβoff background sync and see it fire when connectivity returns. Debug service worker sync logic.
Request permission and detect when the user is idle (away from keyboard). See screen lock state. For nativeβlike apps.
Acquire and release locks across tabs. Prevent race conditions in IndexedDB or localStorage. Visual queue and lock state.
Read, write, and delete cookies using the modern Cookie Store API. Monitor change events. No more document.cookie parsing.
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.