JavaScript Type Checker - Online Typeof & Instanceof Sandbox
Paste any JavaScript expression and see its evaluated type and value. Understand JS coercion and type quirks. Educational.
UD5 Toolkit
performance.memory API is only available in Chromium-based browsers (Chrome, Edge, Opera, Brave). Please switch to a supported browser for full functionality.
Real-time monitoring of performance.memory in your browser
Allocate temporary memory blocks to observe how the heap responds. Use with caution — large allocations may slow down your browser.
new, declare variables, or define functions, memory is allocated on the heap.performance.memory is a non-standard Chrome-specific API that provides real-time information about the JavaScript heap. It exposes three properties: usedJSHeapSize (currently used memory), totalJSHeapSize (total allocated heap, including free space within the heap), and jsHeapSizeLimit (maximum heap size the browser allows). This API is available in Chromium-based browsers like Chrome, Edge, and Opera.usedJSHeapSize reflects the memory actively occupied by live objects and data. totalJSHeapSize is larger because it includes free space that the heap has reserved from the operating system but hasn't yet filled. The gap between them represents memory that the heap can use without requesting more from the OS. If usedJSHeapSize approaches totalJSHeapSize, the browser will expand the heap (up to jsHeapSizeLimit).setInterval without clearInterval); 2) Detached DOM elements still referenced in JavaScript variables; 3) Global variables that accumulate data over time; 4) Closures that retain references to large outer-scope objects; 5) Event listeners not removed when elements are destroyed; 6) Large caches or collections that grow without bound; 7) WebSocket or subscription callbacks not unsubscribed. Use this tool to monitor if heap usage continuously climbs without dropping — that's a strong leak indicator.window.gc() only if Chrome was launched with the flag --js-flags="--expose-gc". For regular browsing, the best approach is to open Chrome DevTools (F12), go to the Performance or Memory tab, and click the trash icon 🗑️ to force a garbage collection cycle. Alternatively, reducing references to large objects naturally allows the GC to reclaim memory on its next automatic cycle.usedJSHeapSize to jsHeapSizeLimit is typically below 50-60%. If usage consistently exceeds 75%, consider optimizing your code. However, the absolute numbers matter more than ratios — a small app using 20 MB is fine, while a complex web app might use 200+ MB normally. Watch for trends: if memory climbs steadily without ever dropping, you likely have a leak.WeakMap and WeakSet for caches that should not prevent GC; 5) Break large closures into smaller scopes; 6) Clean up event listeners and observers; 7) Use typed arrays (ArrayBuffer) efficiently and release them with .transfer() or by nullifying.performance.memory: Google Chrome, Microsoft Edge, Opera, Brave, Vivaldi, and Arc. Firefox and Safari do not expose this API. For cross-browser memory profiling, use the browser's built-in DevTools (Memory tab in Chrome/Edge, Performance tab in Firefox, or the Web Inspector in Safari).Paste any JavaScript expression and see its evaluated type and value. Understand JS coercion and type quirks. Educational.
Render 1000 styled elements using inline styles vs. CSS classes and compare time. Understand CSS‑in‑JS trade‑offs.
See how many tabs you have open and estimate memory usage based on navigator object. Fun productivity check.
List cached responses for your domain. View headers, content, and delete individual entries. Understand your PWA's cache.
See your current page load broken down into DNS, TLS, request, and DOM phases. Understand where time is spent.
See your current page load broken down into DNS, TLS, request, and DOM phases. Understand where time is spent.
Apply a Proxy to an object and see the get/set traps log fired in real time. Understand metaprogramming. Local.
Compress text with Brotli at different quality levels. See size reduction and time. Find the sweet spot for your static assets.
Add many complex CSS styles and measure frames per second. Isolate expensive properties. Practical performance lab.
Run a CPU‑heavy calculation (e.g., prime numbers) in a Web Worker and see the UI stay responsive. Code snippet provided.
Toggle content‑visibility: auto on long blocks and see the rendering time difference. Understand this powerful property.
Write a generator function and step through it with next(). See values and done state. Understand iterators.
Create promises that resolve or reject after a delay. See state changes and chain .then/.catch. Debug async code.
Apply content‑visibility: auto to off‑screen sections and see the rendering cost drop. Demos for infinite scroll optimization.
Calculate large Fibonacci numbers in a Web Worker. See the UI remain responsive. Copy the pattern for your app.
Type any character and see how it renders in different font stacks. Detect missing glyphs and fallback behavior.
Write JavaScript using element.animate() and see the result in a live preview. Compare with CSS keyframes. Debugger included.
Pick a random icebreaker question or activity for remote meetings. Never start a meeting awkwardly again.
Build <link> tags for preload, prefetch, preconnect, and dns‑prefetch. Improve page load speed with correct priorities. Copy the optimized HTML.
Select a caching strategy and see a flow diagram of how requests are handled. Learn PWA patterns.
Create a pure CSS scroll progress indicator using animation‑timeline: scroll(). No JavaScript. Copy the complete code.
Paste GeoJSON and instantly see it drawn on a draggable map. Supports points, lines, and polygons. Local fetch of tiles.
Generate an <img> tag with the loading='lazy' attribute and optional low‑quality placeholder. Improve Core Web Vitals. Copy the snippet.
Open a modal and see how focus is trapped and restored. Copy the lightweight focus‑trap code. Accessible pattern.
Create an animation that advances with scroll using animation‑timeline: scroll(). See the visual timeline editor. Modern CSS.
Create a custom element with named slots and see content projection in action. Learn Web Components basics.
Split text into a JavaScript or JSON string array. Wrap in quotes, add commas. Ready to paste into code.
Check if your site has a visible and functional skip navigation link. Key for keyboard‑only users.
Adjust root, margin, and threshold. See a live log of intersection events as you scroll. Debug lazy loading.
Generate a complete <head> section with meta charset, viewport, SEO, favicon, and social tags. Customize and copy.