Back to Resources Resource

Chrome DevTools Hidden Features - Debug Like a Pro

Unlock powerful debugging features most developers never discover. Console tricks, network throttling, performance profiling, and more.

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:

Chrome DevTools Elements Console Sources Network Performance Memory Application CONSOLE $_ last result $0-$4 selected elements console.table() NETWORK Throttling presets Block requests Copy as cURL/fetch PERFORMANCE CPU throttling Screenshots timeline Flamecharts MEMORY Heap snapshots Allocation timeline Detached DOM SOURCES PANEL Snippets - reusable scripts Overrides - persist changes Workspaces - edit local files COMMAND MENU Cmd+Shift+P Screenshot - full page Disable JavaScript SETTINGS Experiments tab Dark theme Custom shortcuts Press Cmd+Shift+P to open Command Menu - access any DevTools feature instantly

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. 1

    Learn the Command Menu

    Press Cmd+Shift+P and explore - it's the gateway to every DevTools feature

  2. 2

    Create Your First Snippet

    Sources > Snippets > New. Save a debugging script you use often

  3. 3

    Try Network Throttling

    Network panel > Throttling dropdown > Slow 3G. See how your site performs on slow connections

  4. 4

    Record a Performance Profile

    Performance panel > Record > interact with page > Stop. Analyze the flamechart

  5. 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

Explore More Resources