Chrome DevTools on iOS: How to Inspect and Debug Pages on iPhone
Chrome on iPhone and iPad has no built-in developer tools and no extensions, so there is no F12 or "Inspect" menu. The official way to debug it is to connect the device to a Mac and use Safari's Web Inspector. That works for Chrome 115 or later on iOS 16.4 or later, after you turn on the Web Inspector setting inside Chrome (Chrome for Developers). Without a Mac you can still read console logs at chrome://inspect, or load an in-page console such as Eruda.
So the developer tools for Chrome on iPhone and iPad come down to three options: the full inspector (Safari Web Inspector on a Mac, attached to the Chrome tab), the on-device log page (chrome://inspect), or a console injected into the page (Eruda, vConsole). This guide covers all three for iPhone and iPad, plus Windows and Linux options, a panel-by-panel map from Chrome DevTools to Safari's equivalents, and fixes for the usual "my iPhone doesn't show up" problems. Everything was checked against current docs as of November 2026.
Why Chrome iOS dev tools work differently
On desktop, Chrome runs Google's Blink engine and ships Chrome DevTools. On iOS, Chrome renders pages with Apple's WebKit, the same engine as Safari, inside a WKWebView. So Chrome developer tools for iOS are really WebKit developer tools, and the inspector for WebKit is Safari Web Inspector on macOS. That's why iOS Chrome dev tools look and behave like Safari's, and why Chrome DevTools iOS support, in the sense of Google's own panels running against an iPhone tab, doesn't exist.
The reason is an App Store rule. Apple's App Review Guideline 2.5.6 says apps that browse the web must use the appropriate WebKit framework and WebKit JavaScript. Since 2024, browsers can apply for an entitlement to ship their own engine, but only for users in the European Union on iOS 17.4 or later (iPadOS 18 or later), and only if the engine meets Apple's security and web-compatibility requirements (Apple Developer). The debugging route Google documents for Chrome on iOS is still Safari Web Inspector, which only makes sense because the shipping app renders with WebKit.
Until 2023 even that route was closed: release builds of iOS apps couldn't expose their web views to Safari, so debugging Chrome meant building Chrome for iOS from source (Chrome for Developers). iOS 16.4 added the isInspectable property on WKWebView, which lets an app opt in; it defaults to false (WebKit blog). Chrome 115 uses it behind a user setting.
The same applies to iPad. Chrome developer tools for iPad follow the steps below; the iPad shows up in Safari's Develop menu like an iPhone. The upshot for developer tools: Chrome mobile (iPhone and iPad) gets WebKit's inspector, while Chrome on desktop and Android gets Chrome DevTools. Every route to developer tools, Chrome iOS included, ends at WebKit.
- June 2012Google releases Chrome for iPhone and iPad, built on Apple's web view rather than Blink (Engadget).
- March 2019Chrome 73 for iOS adds
chrome://inspect, a page that shows JavaScript console logs on the device (Chromium Blog). - March 2023iOS 16.4 adds
isInspectable, so App Store apps can let Safari Web Inspector attach to their web views (WebKit). - May 2023BrowserStack Live adds Chrome DevTools for iOS Chrome sessions on its remote devices (BrowserStack).
- July 2023Chrome 115 ships to the App Store with a Web Inspector switch in Content Settings (Chrome Releases, Chrome for Developers).
- 2024Apple allows alternative browser engines for EU users on iOS 17.4+, under strict entitlement rules (Apple Developer).
Chrome is half of US mobile browsing, so you can't skip it
On iOS every browser shares the WebKit engine, but Chrome still differs from Safari in its UI (address bar position, toolbars that change the visible viewport), its settings, its autofill, and its user agent. Chrome on iOS sends the Mobile Safari user agent with a CriOS/<version> token in place of Safari's version token (Chromium docs), so any server or script that sniffs the user agent can treat it differently. That's why "works in Safari" is not proof that it works in Chrome on iPhone.
All mobile platforms combined. On iPhone and iPad, every one of these browsers renders with WebKit. Source: StatCounter Global Stats
To check what Chrome on the device reports, open the DevHunt user agent parser in Chrome on the iPhone. In code:
// true in Chrome for iOS (and false in Safari, Chrome on Android, desktop Chrome)
const isChromeIOS = /CriOS\//.test(navigator.userAgent);
Inspect Chrome on iPhone or iPad from a Mac (Safari Web Inspector)
This is the only way to get real developer tools for Chrome on iPhone: a live DOM, breakpoints, and a network panel, all attached to the actual Chrome tab. It's also the closest thing to the Chrome remote debugging iOS offers. In short, Chrome iPhone developer tools are Safari's tools pointed at Chrome, and if you need full developer tools, Chrome iPhone tabs have to be attached to Safari on a Mac. The Chrome iPad developer tools story is identical.
What you need: a Mac with Safari, an iPhone or iPad on iOS/iPadOS 16.4 or later, Chrome 115 or later, and a USB cable (or Wi-Fi pairing, see below).
- Enable Safari's developer features on the Mac. Open Safari, choose Safari > Settings (Cmd+,), go to Advanced, and check Show features for web developers. A Develop menu appears in the menu bar (WebKit). Older Safari versions call this checkbox Show Develop menu in menu bar.
- Turn on Web Inspector inside Chrome on the device. In Chrome, open Settings > Content Settings, turn on Web Inspector, then fully close and relaunch Chrome (Chrome for Developers). To fully close it, swipe up from the bottom of the screen (or double-press the Home button), then swipe Chrome's card away.
- Connect the device to the Mac with a cable. Unlock it and tap Trust if asked, then enter the passcode.
- Open the page you want to debug in Chrome on the device.
- On the Mac, open Safari > Develop, hover over your iPhone or iPad's name, and click the page's URL listed under Chrome. Web Inspector opens, attached to that tab. The same goes for developer tools: Chrome iPad tabs appear in Safari's Develop menu exactly like iPhone ones, under the iPad's name.
You now have the full WebKit toolset against the page running on the phone: Elements (live DOM and CSS editing), Console, Sources (breakpoints, stepping), Network, Timelines, Storage, and more. The Safari Web Inspector guide walks through each tab.
Note that the switch you need is Chrome's setting. Safari's own toggle (iOS Settings > Apps > Safari > Advanced > Web Inspector, or Settings > Safari > Advanced before iOS 18) only controls Safari pages. Turning it on doesn't hurt, and you need it anyway if you also debug Safari.
Chrome DevTools panels and their Safari Web Inspector equivalents
If you know Chrome DevTools, most of your habits carry over. This table maps the Chrome DevTools panel you're used to onto what you'll find when you inspect Chrome on iOS:
| You want (Chrome DevTools) | Use in Safari Web Inspector | Notes for Chrome on iPhone/iPad |
|---|---|---|
| Elements | Elements | Live DOM and CSS editing, computed styles, box model, event listeners |
| Console | Console | console.log from the Chrome tab, plus a JavaScript prompt that runs in the page |
| Sources (breakpoints) | Sources | Breakpoints, stepping, debugger; statements, source maps |
| Network | Network | Requests, headers, timing, response bodies for the attached tab |
| Performance | Timelines | Layout, rendering, JavaScript and CPU recording |
| Application (storage) | Storage | Cookies, localStorage, sessionStorage, IndexedDB |
| Layers | Layers | Compositing layers and their memory use |
| Lighthouse | Audit (partial) | Audit runs custom checks; there is no Lighthouse for WebKit |
| Device toolbar (emulation) | Not needed | You're inspecting a real device |
WebKit's own Web Inspector reference documents each tab, including Audit, Elements, Layers, Network, Sources and Timelines. If you want the newest inspector features, WebKit recommends Safari Technology Preview, which inspects devices the same way.
Debug without a cable
Pair the device once in Xcode (Window > Devices and Simulators, select the device, enable Connect via network). After that it appears in Safari's Develop menu over Wi-Fi when both are on the same network. WebKit's docs confirm that a device set up for wireless debugging in Xcode shows up in the Develop menu just like a cabled one (WebKit).
Wireless inspection is handy for testing in landscape or one-handed, but it's slower and drops more often than a cable. If the device disappears from the menu, plug the cable in again.
Debug a local dev server from Chrome on iPhone
Your phone can't reach localhost on your Mac, because localhost on the phone is the phone. Make the dev server listen on your network and use the Mac's LAN IP instead:
# Find the Mac's Wi-Fi IP address
ipconfig getifaddr en0 # e.g. 192.168.1.23
# Start the dev server on all interfaces
npx vite --host # Vite
npx next dev -H 0.0.0.0 # Next.js
Then open http://192.168.1.23:5173 (or your port) in Chrome on the iPhone and attach Web Inspector as above. The phone and Mac must be on the same Wi-Fi, and the macOS firewall must allow incoming connections for Node. The --host flag is described in Vite's server options.
Can I use the iOS Simulator?
Partly. Simulators always allow inspection, and Safari on the simulator appears under Develop > Simulator (WebKit). But you can't install the App Store build of Chrome in the simulator, so to test Chrome specifically you need a real device. For layout and WebKit bugs, Safari in the simulator is usually close enough, because both browsers use the same engine.
Why Chrome DevTools' iPhone emulation isn't enough
Desktop Chrome's device toolbar can pretend to be an iPhone, but it still runs Blink on your computer. Google's own docs call device mode "a first-order approximation" and point out that your code doesn't actually run on a mobile device (Chrome for Developers). For an iPhone, the gap is bigger than CPU speed: WebKit's CSS support, scrolling, viewport resizing when toolbars hide, and form controls all differ from Blink. Use emulation for quick breakpoint checks, then confirm on a real device with Web Inspector.
Read JavaScript logs on the device with chrome://inspect
Chrome for iOS has had a built-in log viewer since Chrome 73 (Chromium Blog). It's the closest thing to dev tools on the iPhone itself, and the answer to "where is the Chrome iOS console?"
- In Chrome on the iPhone or iPad, open a new tab and go to
chrome://inspect. - Start log collection (current versions show a Start Logging button) and leave that tab open.
- Switch to another tab and reproduce the problem.
- Go back to the
chrome://inspecttab to readconsole.log, warnings, and errors.
Limits: it only shows console output (no DOM, no network panel, no breakpoints), and logs are lost if that tab closes or navigates away.
Inspect element on iPhone without a Mac
If you are on Windows, Linux, or only have the phone, these are the realistic options:
| Option | What you get | Works in Chrome iOS? | Notes |
|---|---|---|---|
chrome://inspect |
Console logs | Yes | Built in, log-only |
| Eruda or vConsole in your page | Console, Elements, Network, Storage panels inside the page | Yes | You must add a script to the site you're testing |
| Cloud real-device services | Remote iPhones with Safari Web Inspector | Usually Safari, sometimes Chrome | Paid, check each vendor. BrowserStack Live offers Chrome DevTools in iOS Chrome sessions on iOS 13+ (BrowserStack) |
| Inspect (inspect.dev) | DOM, CSS, console and network from a real iPhone, with a Chrome DevTools handoff | Yes (lists "Chrome on iOS") | Runs on macOS, Windows or Linux for real devices; free tier, paid plans (Inspect) |
| ios-webkit-debug-proxy | WebKit remote debugging from Windows/Linux | Unreliable | Open-source, community-maintained, breaks often with new iOS versions |
Add an in-page console (Eruda)
Eruda is an open-source console that runs inside the page, so it works in any iOS browser. Load it only in development or behind a query flag, never for all visitors:
<script>
if (/[?&]debug=1/.test(location.search)) {
var s = document.createElement('script');
s.src = 'https://cdn.jsdelivr.net/npm/eruda';
s.onload = function () { eruda.init(); };
document.head.appendChild(s);
}
</script>
Open https://your-site.test/?debug=1 in Chrome on the iPhone and tap the floating gear icon. You get a console, an element inspector, a network log, and storage views. Eruda's built-in tools are Console, Elements, Network, Resources, Sources, Info, Snippets and Settings, and eruda.destroy() removes it again (Eruda API). vConsole is a similar alternative. Both are approximations: they see what JavaScript can see, so they miss things like CSS computed by the engine and requests made before the script loads.
If your project uses npm, install it as a dev dependency so it never reaches production bundles:
// npm install eruda --save-dev
if (import.meta.env.DEV) {
import('eruda').then(({ default: eruda }) => eruda.init());
}
vConsole works the same way (npm install vconsole, then new VConsole()), with Log, System, Network, Element and Storage panels, and vConsole.destroy() to remove it (vConsole).
| Eruda | vConsole | |
|---|---|---|
| License | MIT | MIT |
| GitHub stars (Nov 2026) | 21.2k | 17.5k |
| Panels | Console, Elements, Network, Resources, Sources, Info, Snippets | Log, System, Network, Element, Storage |
| Remove at runtime | eruda.destroy() |
vConsole.destroy() |
| Plugins | Yes | Yes |
Debug Chrome on iPhone from Windows or Linux
Safari Web Inspector only runs on macOS, so there is no official route from Windows. The two workable bridges:
- Inspect (inspect.dev) connects to real iOS devices from macOS, Windows or Linux and lists iOS Safari, Chrome on iOS and WebViews as supported. Install the CLI with
npm install -g @inspectdotdev/cli. As of November 2026 its pricing is a free plan with two 15-minute debug sessions a day, a $29 one-time seven-day pass, $79/year Pro, and $99/user/year Teams. - ios-webkit-debug-proxy (GitHub) is a free, open-source proxy that speaks the WebKit remote debugging protocol. Install it with
brew install ios-webkit-debug-proxyon macOS orscoop bucket add extrasthenscoop install ios-webkit-debug-proxyon Windows (it also needs iTunes there). Runios_webkit_debug_proxyand openlocalhost:9221to list devices and tabs; the first device gets port 9222. Its README warns that newer Chrome DevTools frontends aren't compatible with Safari, so expect broken panels.
| Way to debug Chrome on iOS | Cost (as of November 2026) | Needs a Mac? |
|---|---|---|
| Safari Web Inspector | Free | Yes |
chrome://inspect |
Free | No |
| Eruda / vConsole | Free | No |
| ios-webkit-debug-proxy | Free | No |
| Inspect, free plan | Free (two 15-minute sessions a day) | No |
| Inspect Pass | $29 once, 7 days | No |
| Inspect Pro / Teams | $79/year, $99/user/year | No |
Common iPhone-only bugs to check with the inspector
Once Web Inspector is attached, these are the issues that most often show up in Chrome on iPhone but not in desktop emulation:
100vhis taller than the visible screen. Chrome's toolbars on iOS expand and retract as you scroll. MDN notes thatvhcurrently equalslvh(the large viewport, toolbars retracted), so a100vhhero gets cut off when the toolbars show. Usesvhfor content that must always fit, ordvhto track the toolbars, keeping in mind thatdvhcan resize content while the user scrolls (MDN).- Content under the notch or home indicator. Use the
safe-area-inset-*environment variables, which iOS introduced so content isn't hidden by notches or rounded corners (MDN):
.sticky-footer {
position: sticky;
bottom: 0;
padding: 1em 1em calc(1em + env(safe-area-inset-bottom));
}
- User agent sniffing that misses
CriOS. If your code checks forSafariorChromein the user agent, Chrome on iOS can match the wrong branch, since its string is the Mobile Safari one plus aCriOStoken. Lognavigator.userAgentin the Console and test the branch your code takes. - A bug that also happens in Safari. Because both browsers share WebKit, reproduce it in Safari on the same device. If it happens there too, it's an engine issue and you can debug it in Safari (or the simulator) without the Chrome setting at all. If it only happens in Chrome, look at Chrome-specific factors: the user agent, the toolbar layout, saved site settings, or Chrome's autofill.
- Errors that only fire on a slow network. Use the Network tab in Web Inspector to see failed or slow requests from the real phone connection, which emulation on a fast desktop link won't show.
What Chrome on iOS can't do
- No Chrome DevTools. The desktop panels (Lighthouse, Performance insights, the Chrome-specific Network throttling UI) don't exist on iOS. In Safari Web Inspector you get WebKit's equivalents.
- No extensions. Chrome for iOS doesn't support Chrome Web Store extensions, so there is no DevTools extension to install. (The "DevTools" extensions you may find in the App Store are Safari web extensions, and they only run in Safari.)
- No "Inspect element" menu. Long-pressing gives the normal link and image menu, not an inspector.
- Blink bugs won't reproduce. Since the engine is WebKit, a bug that only appears in Chrome on Android or desktop is a Blink issue. Use Chrome's remote debugging for Android for those: enable USB debugging on the phone, then open
chrome://inspect#devicesin desktop Chrome.
If you test on many devices, a real-device cloud or an automated cross-browser suite saves a lot of cable swapping; see testing tools on DevHunt and mobile developer tools.
Troubleshooting Chrome iOS Web Inspector
Most problems come down to one missed setting. Work through these in order:
| Symptom | Likely cause | Fix |
|---|---|---|
| No Develop menu in Safari | Developer features are off | Safari Settings > Advanced > Show features for web developers |
| Device not listed under Develop | Cable, trust, or a locked device | Unlock the device, replug, tap Trust, restart Safari on the Mac |
| Device listed, but no Chrome tabs | Chrome's Web Inspector setting is off, or Chrome wasn't relaunched | Chrome Settings > Content Settings > Web Inspector, then force-quit and reopen Chrome |
| Only Safari tabs appear | You turned on Safari's toggle, not Chrome's | Chrome needs its own switch (above) |
| Setting missing in Chrome | Chrome older than 115, or iOS older than 16.4 | Update Chrome in the App Store and update iOS |
| Inspector opens but stays blank | Tab was suspended in the background | Bring Chrome to the foreground, reload the page, reopen the inspector |
| Wireless device vanished | Network pairing dropped | Connect the cable again, or re-enable Connect via network in Xcode |
| Breakpoints don't stop | Source maps missing or wrong file | Check the Sources tab for your original files, add a debugger; statement to confirm |
Which option should you use?
For general Chrome DevTools skills you'll reuse on Android and desktop, see how to debug like a pro with Chrome DevTools and 10 Chrome DevTools tips. If you build native iOS apps too, these iOS developer tools cover Xcode-side debugging.
FAQ
Is there a Chrome developer mode on iPhone?
No. Chrome for iOS has no developer mode or built-in DevTools. The only developer switch is Settings > Content Settings > Web Inspector, which lets Safari on a Mac inspect Chrome's tabs, plus the chrome://inspect log page. The iOS "Developer Mode" in Privacy & Security is unrelated: it's for installing Xcode builds, not for Chrome iOS developer mode features.
How do I open developer tools in Chrome on iPad?
The same way as on iPhone: enable Web Inspector in Chrome's Content Settings, connect the iPad to a Mac, and pick the page from Safari's Develop menu. iPadOS has no separate inspector of its own. In practice, Chrome dev tools (iPad or iPhone) means Safari Web Inspector on a Mac or an in-page console like Eruda.
How do I open developer tools in Chrome on iPhone?
You can't open them on the iPhone itself. Turn on Settings > Content Settings > Web Inspector in Chrome, relaunch it, connect the iPhone to a Mac, and choose the Chrome tab from Safari > Develop > [your iPhone]. Without a Mac, go to chrome://inspect in Chrome to see console logs.
How do I close developer tools in Chrome on iPhone?
There's no developer tools panel in Chrome on iPhone to close. People searching "how to close developer tools in Chrome in iPhone" are usually looking at one of three things. If you see a floating gear or green "vConsole" button on a page, that's an in-page console the site loaded (Eruda or vConsole): close the tab, or remove the ?debug flag from the URL. If you opened chrome://inspect, just close that tab; logging only runs while it's open. To stop Safari on a Mac from inspecting Chrome, turn off Web Inspector in Chrome's Content Settings.
Can I see the network tab for Chrome on iOS?
Yes, through Safari Web Inspector's Network tab once you've attached it to the Chrome tab from a Mac. On the device alone, an in-page tool like Eruda shows requests made by the page's JavaScript, but not every request.
How do I see the JavaScript console in Chrome on iOS?
Two ways. On the device, open chrome://inspect, tap Start Logging, and use your site in another tab; logs appear back on the inspect page. From a Mac, attach Safari Web Inspector to the Chrome tab and use its Console, which also lets you run JavaScript in the page.
Does chrome remote debugging work for iOS?
Not the Android way. Chrome's remote debugging with chrome://inspect#devices in desktop Chrome only works for Android devices. For Chrome on iOS, the remote debugger is Safari Web Inspector on a Mac, after you enable Chrome's Web Inspector setting. Third-party bridges like Inspect or ios-webkit-debug-proxy can connect from Windows or Linux.
Can I debug Chrome iOS on Windows?
Not with official tools, because Safari Web Inspector only runs on macOS. On Windows, use chrome://inspect for logs, an in-page console like Eruda, or a cloud service that rents real iPhones. Inspect lists Chrome on iOS as supported from Windows, and ios-webkit-debug-proxy exists but is fragile.
Can I install Chrome DevTools extensions on iPhone or iPad?
No. Chrome for iOS doesn't run Chrome Web Store extensions. Safari on iOS supports Safari web extensions, and some of those add a console or element viewer, but they only work inside Safari, not in Chrome.
Why does my site look different in Chrome on iPhone than in Chrome DevTools' iPhone emulation?
Because emulation still runs Blink on your computer, while Chrome on iPhone runs WebKit on the phone. Google describes device mode as a first-order approximation. Differences in CSS support, viewport height with toolbars, fonts and form controls only show up on the real device, so check there with Web Inspector.
Why doesn't my iPhone show up in Safari's Develop menu?
Check, in order: the cable connection and the Trust prompt; that Chrome's Web Inspector setting is on and Chrome was relaunched; that Chrome is 115+ and iOS is 16.4+; and that "Show features for web developers" is checked in Safari's Advanced settings on the Mac. Restarting Safari on the Mac often fixes a stale device list.