InspectLab app icon InspectLab
InspectLab app icon: a browser window under a magnifying glass, beside a laboratory flask

Web DevTools that actually fit on a phone

InspectLab is a developer browser for iPhone and iPad. Open any site, tap an element, and read its DOM, styles, console output, network traffic and storage — on the device, with no Mac attached.

Requires iOS or iPadOS 17 or later. No account, no analytics, nothing uploaded.

Six panels, built for touch

Not a desktop layout squeezed onto a small screen — each panel is native and made for a thumb.

Elements

Tap the page, land on the node

A lazy DOM tree with search and a visual picker. Selecting a node highlights it in the page with margin, border, padding and content bands, and the label shows its size.

Styles

Edit CSS and watch it apply

Matched rules in cascade order, inherited rules, grouped computed values and a box-model diagram. Change a property and the page updates instantly; your edits survive closing the panel.

Console

Logs, errors and a real REPL

Every console level plus uncaught errors and unhandled rejections, with level and text filters. Objects expand on demand. Type an expression and it runs in the page's own scope.

Network

Requests, bodies and Copy as cURL

Method, URL, status, duration, headers and bodies for fetch and XHR, with filters by type and a failures-only toggle. Copy any captured request as a cURL command.

Storage

Including HttpOnly cookies

Cookies read from the browser's own store — so the HttpOnly session cookies page scripts cannot see are visible here. Plus localStorage and sessionStorage, editable in place.

Source

Read the page as shipped

Live HTML, every loaded script, stylesheet and image, and the page's inline blocks. Search within a file, then copy or share it.

What it can and cannot capture

iOS puts real limits on what an app can observe inside a web view. Rather than hide them, InspectLab labels them — in this table, and in the app itself.

TrafficCoverageWhat that means
fetch, XHR, sendBeacon Full Method, URL, request and response headers, bodies, status and duration.
WebSocket, EventSource Connection The connection, its open and its close. Individual frames are not captured in this release.
Documents, images, CSS, JS, fonts, media Timing only URL, duration and transfer size. No headers and no bodies — these loads happen in WebKit's networking process, where no public API exposes them. Rows are marked “timing only”.
Service Worker traffic Not captured Requests a Service Worker makes on the page's behalf do not reach us.
Cross-origin iframes Not inspectable Console and network events are labelled by frame, but the DOM tree cannot cross an origin boundary.
JavaScript breakpoints Not available Stepping and call-stack inspection need the WebKit inspector protocol, which an app cannot reach for its own web view. For breakpoints you still need a Mac and Safari Web Inspector.
Why not just intercept everything? A common workaround reaches into WebKit's internals through private API. InspectLab does not: it breaks between OS releases, does not reliably cover the networking process on modern iOS, and risks removal from the App Store. A debugger that stops working after an update is worse than one with documented limits.

Everything stays on your device

InspectLab is a debugging tool, so it necessarily sees sensitive things — cookies, authorization headers, request bodies, page content. None of it is sent anywhere.

  • No analytics, no crash reporting, no advertising SDKs.
  • No accounts and no sign-in. There is no server to sign in to.
  • Nothing you inspect is uploaded, and no inspection data leaves the device.
  • Browsing goes directly from your device to the sites you visit.

Read the full privacy policy →

Try it on your own site

It loads localhost and LAN addresses too, so you can point it straight at a development server running on your Mac.

Download on the App Store