Speaker Test Tones - Online Left/Right Channel & Sweep
Play left‑only, right‑only, and frequency sweeps to test your speakers or headphones. Quick audio check.
UD5 Toolkit
navigator.mediaSession.
if ('mediaSession' in navigator) { ... }.
navigator.mediaSession.metadata = new MediaMetadata({...}) to set the track information. The MediaMetadata constructor accepts: title, artist, album, and artwork (an array of image objects with src, sizes, and type). For best results, provide multiple artwork sizes (96x96, 128x128, 192x192, 256x256, 384x384, 512x512) to accommodate different platform requirements.
navigator.mediaSession.setActionHandler('play', callback) and setActionHandler('pause', callback). Available actions include: play, pause, previoustrack, nexttrack, seekbackward, seekforward, seekto, and stop. Each handler receives an optional details object. Important: Action handlers may require an active audio playback context to be recognized by the system.
navigator.mediaSession.metadata is set with at least a title. (3) HTTP instead of HTTPS — Media Session API requires a secure context (HTTPS or localhost). (4) Browser limitations — some browsers only show media controls when audio is actively streaming. (5) User gesture required — initial audio playback must be triggered by a user click/tap.
navigator.mediaSession.setPositionState({ duration: totalSeconds, playbackRate: 1, position: currentSeconds }) to synchronize the progress bar on system media controls. Update this periodically (e.g., every second) while the media is playing. The position should reflect the current playback time, and duration the total length of the track. This enables accurate seek and scrub controls on lock screens and notification widgets.
sizes attribute should match the actual image dimensions (e.g., "256x256"). Always include a fallback image. On mobile, higher resolution artwork (≥512px) ensures crisp display on high-DPI screens. Keep file sizes reasonable for fast loading.
<audio> elements, AudioContext, Web Audio API nodes, or even WebRTC streams. As long as the browser detects active audio playback, the Media Session will be recognized. This makes it ideal for custom audio players, synthesizers, podcast players, and streaming services built with Web Audio.
chrome://media-engagement/ to see media playback status. Check the Console for any errors related to Media Session. Quick checks: (1) Verify HTTPS or localhost. (2) Confirm audio is actually playing (not muted with zero gain). (3) Test navigator.mediaSession.metadata in the console — it should return the MediaMetadata object. (4) Use the demo tool on this page to test if your browser supports the API correctly. (5) Check that action handlers are properly bound after user interaction.
display: standalone) and service worker caching for offline playback, you can create a near-native media experience entirely with web technologies.
Play left‑only, right‑only, and frequency sweeps to test your speakers or headphones. Quick audio check.
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.
Convert a stereo audio file to mono. Also swap or extract left/right channels. Quick podcast preparation. Browser-based.
Create a personal countdown to any future date (birthday, vacation, launch). Shows days, hours, minutes, seconds. Locally stored.
Send HEAD requests to popular websites and measure the round‑trip time. Quick network health check. Client‑side.
Reference diagrams for USB‑A, USB‑C, micro‑USB pinouts. See wire colors and signal descriptions. Hardware hacking helper.
Enter two date‑time values and get the exact years, months, days, hours, minutes difference. Word output also.
Log your coin collection with year, mint, and grade. Filter and sort. Data stored in localStorage. For numismatists.
Find the correct wire gauge for speaker cables based on length and speaker impedance to avoid signal loss. Quick audio reference. Local.
Calculate your Basal Metabolic Rate using the Mifflin‑St Jeor equation. Know how many calories you burn at rest. All data private.
Paste a recipe ingredient list and double, triple, or scale to any serving size. Rounds fractions intelligently. Save your scaled recipes locally.
Play reference pitches for standard ukulele tuning. Also works for baritone and other variations. Simple and local.
Add or subtract days, weeks, and months to find a future or past date. Also compute duration between two dates. Essential for project planning.
Convert between common cooking units: cups → grams, teaspoons → ml, Fahrenheit → Celsius. Essential baking tool.
Select original key and capo position to see the resulting chord shapes. Keep playing in the original key without barre chords.
Select component type and solder to see recommended iron temperature and tip shape. Avoid cold joints.
Calculate the buying power of US dollars between any two years using official CPI data (updated annually). See how inflation erodes purchasing power. Local.
Calculate with binary numbers: addition, subtraction, multiplication, and division. Also bitwise AND, OR, XOR. Programmer's tool, fully client-side.
Convert network and data transfer speeds: bps, Kbps, Mbps, Gbps, KiB/s, MiB/s. A must when comparing internet plans. Fast and local.
Use priming sugar calculator adapted for kombucha. Prevent bottle bombs. Enter volume and desired fizz.
Convert minutes to decimal hours and vice versa. Essential for billing and payroll. Instant conversion with a handy chart.
Calculate the salt percentage by weight for your vegetable ferments. Avoid mushy or unsafe ferments. Supports both dry salting and brine methods.
Reference for standard blanket and afghan sizes in inches and cm. Perfect for knitters and crocheters.
Compress and decompress text using the browser's native Compression Streams API. See the binary output size.
Drop a PNG file and see all its chunks (IHDR, tEXt, etc.). Extract hidden text and color profiles. Pure JavaScript reader.
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.
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.