Elements
Inspecting & Editing
Right-click -> InspectOpen Elements panel for element
Double-click tag/attributeEdit HTML inline
Delete keyDelete selected node
Ctrl+ZUndo DOM change
H keyToggle visibility of selected element
Drag nodeMove element in DOM tree
Styles Panel
element.style {}Add inline styles to element
Click property valueEdit CSS value live
Checkbox next to ruleToggle CSS property on/off
:hov buttonForce element pseudo-states (:hover, :focus)
.cls buttonAdd/remove CSS classes
Color swatchOpen color picker
Computed tabView final computed CSS values
Console
Console API
console.log("info"); console.warn("warning"); console.error("error"); console.table(arrayOrObj); console.group("label"); console.groupEnd(); console.time("t"); /*...*/ console.timeEnd("t");
Console Utilities
$0Currently selected element in Elements
$('sel') / $$('sel')querySelector / querySelectorAll shorthand
copy(obj)Copy object as string to clipboard
clear()Clear console output
monitor(fn)Log calls to function fn
monitorEvents(el, 'click')Log events on element
keys(obj) / values(obj)Object keys / values
$_ Result of last evaluated expression
Filtering
Log levels dropdownFilter by verbose/info/warn/error
Filter text boxSearch console output
-url:extensionExclude messages by source URL
context: dropdownFilter by iframe/worker context
Network
Network Panel Features
Filter barFilter by type: XHR, JS, CSS, Img, Doc, WS
Search (Ctrl+F)Search across all request/response bodies
Preserve logKeep log across page navigation
Disable cacheBypass browser cache while DevTools open
Throttling dropdownSimulate Slow 3G, Fast 3G, Offline
Block request URLRight-click request -> Block URL
Request Details Tabs
HeadersRequest/response headers, status code
PayloadPOST body, query parameters
PreviewFormatted response (JSON, HTML, image)
ResponseRaw response body
TimingDNS, connect, TLS, TTFB, download
InitiatorStack trace that triggered request
CookiesCookies sent/received
Copy & Export
Right-click -> Copy as cURLCopy request as cURL command
Copy as fetchCopy as fetch() JavaScript
Export HARExport all requests as HAR file
Copy responseCopy response body to clipboard
Sources
Breakpoints
Click line numberToggle line breakpoint
Right-click -> ConditionalBreak only when expression is true
Right-click -> LogpointLog without pausing execution
DOM breakpointBreak on subtree/attribute/removal
XHR/Fetch breakpointBreak when URL contains string
Event listener breakpointBreak on specific event types
Debugger Controls
F8 / Ctrl+\Resume / Pause execution
F10Step over next function call
F11Step into function call
Shift+F11Step out of current function
Ctrl+Shift+P -> "never pause"Disable all breakpoints
Debug Panels
WatchMonitor expression values
ScopeLocal, closure, global variables
Call StackFunction call chain
SnippetsSave and run reusable JS code
Performance
Recording
Record button (Ctrl+E)Start/stop recording performance
Reload buttonRecord page load performance
Screenshots checkboxCapture visual timeline
CPU throttle dropdownSimulate 4x/6x CPU slowdown
Network throttleSimulate slow network during recording
Reading the Flame Chart
Main trackJavaScript execution (flame chart)
Network trackNetwork requests timeline
Frames trackFPS and frame durations
Timings trackFCP, LCP, DCL, Load markers
Yellow barsJavaScript (scripting)
Purple barsLayout / rendering
Green barsPainting / compositing
Bottom-Up & Summary
Summary tabTime breakdown: scripting, rendering, etc.
Bottom-Up tabMost expensive functions first
Call Tree tabRoot-to-leaf call hierarchy
Event Log tabChronological event list
Application
Storage
Local StorageView/edit key-value pairs per origin
Session StorageView/edit session-scoped storage
IndexedDBInspect object stores and records
CookiesView/edit/delete cookies per domain
Cache StorageInspect Service Worker caches
Clear storageBulk clear selected storage types
Service Workers & Manifest
Service WorkersView registration, status, push/sync
Update on reloadForce SW update on each reload
Bypass for networkSkip SW and go to network
ManifestView web app manifest details
Offline checkboxSimulate offline mode
Lighthouse
Running Audits
Mode: NavigationFull page load audit
Mode: TimespanAudit user interactions over time
Mode: SnapshotAudit current page state
CategoriesPerformance, Accessibility, Best Practices, SEO
DeviceMobile or Desktop simulation
Key Metrics
FCP (First Contentful Paint)Time to first visible content
LCP (Largest Contentful Paint)Time to largest visible element
TBT (Total Blocking Time)Sum of long task blocking time
CLS (Cumulative Layout Shift)Visual stability score
SI (Speed Index)How quickly content is visually populated
INP (Interaction to Next Paint)Responsiveness to user input
Shortcuts
Opening DevTools
F12 / Ctrl+Shift+IToggle DevTools open/close
Ctrl+Shift+JOpen Console panel
Ctrl+Shift+COpen Elements + inspect mode
Ctrl+Shift+MToggle device toolbar (responsive)
Navigation & Search
Ctrl+Shift+PCommand Menu (run any action)
Ctrl+POpen file (Go to File)
Ctrl+Shift+FSearch across all sources
Ctrl+GGo to line number in Sources
Ctrl+[ / Ctrl+]Switch between panels
Editing & Console
Ctrl+Shift+DToggle DevTools dock position
Ctrl+L (Console)Clear console output
Shift+Enter (Console)Multi-line input
EscToggle console drawer
Ctrl+K (Console)Clear console
Mobile Debug
Device Toolbar
Ctrl+Shift+MToggle device toolbar
Device dropdownPreset phone/tablet dimensions
Responsive modeFreely resize viewport
DPR dropdownChange device pixel ratio
ThrottlingSimulate mobile CPU + network
Show media queriesVisualize CSS breakpoints
Remote Debugging (Android)
1. Enable USB debuggingSettings -> Developer Options on device
2. Connect USBConnect Android device to computer
3. chrome://inspectOpen in desktop Chrome
4. Click InspectOpen DevTools for mobile page

Requires Chrome on both desktop and Android device

Sensors Override
GeolocationOverride GPS coordinates
OrientationSimulate device orientation
TouchSimulate touch events
Idle detectionOverride idle detection API
Common Patterns
Debug Network Issues
// In Console: monitor all fetch requests const origFetch = window.fetch; window.fetch = (...args) => { console.log('fetch:', args); return origFetch(...args); };
Performance Workflow
1. Lighthouse auditIdentify top performance issues
2. Performance recordingFind long tasks in flame chart
3. Coverage tabFind unused CSS/JS (Ctrl+Shift+P -> Coverage)
4. Network waterfallIdentify blocking resources
5. Rendering tabVisualize paint/layout (Ctrl+Shift+P -> Rendering)
Useful Console Snippets
// List all event listeners on element getEventListeners($0); // Monitor layout shifts new PerformanceObserver(l => l.getEntries().forEach( e => console.log('CLS:', e) )).observe({ type: 'layout-shift', buffered: true });