You use Chrome DevTools daily, but you're probably only scratching the surface. Beyond the Elements and Console tabs lie powerful features that can cut your debugging time in half. Unlock the hidden tools that separate debugging novices from pros.
Debug Smarter, Not Harder
Master console tricks, network analysis, performance profiling, and memory debugging that most developers never discover.
Core Concept
DevTools is organized into panels, each with its own hidden gems. Here's where to find the power features:
Key Techniques
Console Tricks
$_, $0-$4, table(), group(), time()
Network Analysis
Throttling, blocking, waterfall, HAR export
Performance
CPU throttling, screenshots, flamecharts
Memory Debug
Heap snapshots, allocation timeline, leaks
Practical Examples
Console Power Moves:
// $_ returns the last evaluated expression
2 + 2
$_ // Returns 4
// $0-$4 are the last 5 selected elements in Elements panel
$0.style.border = '2px solid red'
// table() for arrays and objects
console.table([{name: 'Alice', age: 30}, {name: 'Bob', age: 25}])
// group() for organized output
console.group('User Data')
console.log('Name:', user.name)
console.log('Email:', user.email)
console.groupEnd()
// time() for performance measurement
console.time('API Call')
await fetch('/api/data')
console.timeEnd('API Call') // Prints: API Call: 142ms
// assert() for conditional logging
console.assert(user.age > 0, 'Age must be positive', user)
Network Panel Tricks:
// In Network panel, right-click any request:
// - "Copy as cURL" - replay in terminal
// - "Copy as fetch" - paste into console
// - "Block request URL" - test without this resource
// Filter expressions:
larger-than:100k // Only show requests > 100KB
status-code:404 // Only 404 errors
method:POST // Only POST requests
domain:api.example.com // Only from specific domain
-domain:fonts.google.com // Exclude domain
// Preserve log across page loads:
// Check "Preserve log" checkbox
Snippets - Reusable Scripts:
// Sources > Snippets > New snippet
// Save frequently used debugging scripts:
// Example: Highlight all images without alt text
document.querySelectorAll('img:not([alt]), img[alt=""]')
.forEach(img => {
img.style.outline = '3px solid red'
console.log('Missing alt:', img.src)
})
// Example: Export localStorage as JSON
copy(JSON.stringify(localStorage, null, 2))
console.log('localStorage copied to clipboard!')
// Run with Cmd+Enter or right-click > Run
Local Overrides - Persist Changes:
// Sources > Overrides > Select folder for overrides
// Enable "Enable Local Overrides"
// Now when you edit CSS/JS in DevTools:
// - Changes persist across page reloads
// - Files are saved to your local override folder
// - Purple dot indicates overridden files
// Great for:
// - Testing CSS changes without modifying source
// - Debugging production sites
// - Quick prototyping
Why This Matters
- ✓ Faster Debugging - Find issues in seconds instead of minutes with the right tools
- ✓ Better Performance Analysis - Identify exactly where your app slows down
- ✓ Memory Leak Detection - Find and fix leaks before users notice
- ✓ Network Debugging - Simulate real-world conditions and failures
- ✓ Production Debugging - Debug live sites without deploying changes
Cheatsheet
Essential Keyboard Shortcuts:
| Action | Mac | Windows/Linux |
|---|---|---|
| Open DevTools | Cmd+Option+I |
Ctrl+Shift+I |
| Command Menu | Cmd+Shift+P |
Ctrl+Shift+P |
| Search all files | Cmd+Option+F |
Ctrl+Shift+F |
| Open file | Cmd+P |
Ctrl+P |
| Inspect element | Cmd+Shift+C |
Ctrl+Shift+C |
| Toggle console drawer | Esc |
Esc |
| Device mode | Cmd+Shift+M |
Ctrl+Shift+M |
| Clear console | Cmd+K |
Ctrl+L |
Pro Tips
Full Page Screenshot
Open Command Menu (Cmd+Shift+P), type "screenshot", select "Capture full size screenshot". Captures the entire scrollable page.
Force Element State
Right-click an element in Elements panel > "Force state" > toggle :hover, :focus, :active, :visited. Debug pseudo-class styles without hovering.
CSS Overview
Command Menu > "Show CSS Overview" > "Capture overview". Get a complete analysis of colors, fonts, unused declarations, and media queries on the page.
Performance Monitor
Command Menu > "Show Performance Monitor". Real-time CPU usage, JS heap size, DOM nodes, and layout/style recalculations. Spot performance issues instantly.
Disable JavaScript
Command Menu > "Disable JavaScript". Test your site's progressive enhancement and see what works without JS. Remember to re-enable it!
Getting Started
-
1
Learn the Command Menu
Press
Cmd+Shift+Pand explore - it's the gateway to every DevTools feature -
2
Create Your First Snippet
Sources > Snippets > New. Save a debugging script you use often
-
3
Try Network Throttling
Network panel > Throttling dropdown > Slow 3G. See how your site performs on slow connections
-
4
Record a Performance Profile
Performance panel > Record > interact with page > Stop. Analyze the flamechart
-
5
Enable Experiments
Settings (F1) > Experiments. Enable cutting-edge features before they're default
Debug Like a Pro
DevTools has more power than most developers ever discover. Master these hidden features and debug faster than ever.
Chrome DevTools Docs