Element Resize Detector - Online Monitor Size Changes
Select any element on the test page and monitor its size changes with ResizeObserver. See log of all entries.
UD5 Toolkit
Resize a target element to see logs
box option specifies which CSS box model to observe. 'content-box' (default) watches only the content area. 'border-box' watches the entire box including padding and border. 'device-pixel-content-box' provides dimensions in device pixels (useful for canvas rendering on high-DPI screens). Try switching modes in this playground to see the difference!observer.observe(element) for each target. The callback receives an array of entries, one per changed element. This is more efficient than creating separate observers for each element.observer.unobserve(element) to stop watching a specific element, or observer.disconnect() to stop observing all elements at once. It's good practice to disconnect observers when they're no longer needed (e.g., in component cleanup) to prevent memory leaks.observe() is called, providing the current dimensions of the element. This is useful because you always get an initial size reading without needing separate measurement code. You can see this behavior in the playground — logs appear as soon as observation starts.Select any element on the test page and monitor its size changes with ResizeObserver. See log of all entries.
Make an element resizable horizontally, vertically, or both. See the handle and code. Useful for textareas.
Explore the size‑container and inline‑size CSS properties for container queries. Understand containment contexts. Visual guide.
Enter two tire sizes and see a side‑by‑side comparison of diameter, width, and speedometer error. Local math.
Type a few words and see them rendered at every heading size (h1–h6) with your chosen font. Perfect for design systems.
Add appliances with running and starting watts to estimate needed generator capacity. Prevent overload.
Estimate your one‑rep max (1RM) from weight and reps. Supports multiple formulas (Epley, Brzycki). Training percentages table.
Enter a chemical formula (e.g., H2O, C6H12O6) and calculate its molar mass. Handles parentheses and hydrates. Pure frontend.
Upload a small image and generate the CSS code for a custom cursor. Test it live on the page. Tiny but useful.
Type a password and see a bar that fills based on estimated bits of entropy. Color‑coded feedback. No storage.
Find your healthy weight range using multiple medical formulas (Hamwi, Devine, Robinson, Miller). Frame size adjustment included. Instant local computation.
Add print styles like removing backgrounds, adding page breaks, setting margins. See print preview instantly.
Toggle print‑specific styles like removing backgrounds, showing link URLs, and adding page breaks. Generate a complete print stylesheet instantly.
Estimate your one‑rep max from weight and reps. Supports Epley, Brzycki, Lombardi formulas. See your strength level.
Paste a raw WebAuthn attestation response (CBOR) and decode its fields: format, authenticator data, and extensions. Debug passkeys locally.
Calculate your one-rep max using Epley, Brzycki, Lombardi or O'Conner formulas. Predict maximum lifting capacity and plan progressive overload. 100% local processing.
Write modern CSS color functions like oklch(), lab(), hwb() and see the rendered color with fallback. Copy compatible code.
Write CSS like `oklch(from red l c h)` to modify colors dynamically. Preview the output and copy the code.
Unified input demo: see pressure, tilt, and type from any pointer. Compare pointerType values. Essential for drawing apps.
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.
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 notification permission, request it, and send a test notification. Verify icon, body, and tag. Debug web push.
Display your effective connection type (4g, 3g, etc.) and downlink speed using the Navigator API. Adapt your app accordingly.
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.