iPhone testing

Test your website on a real iPhone.

Bezel frames your page in an iPhone 17, 16, 15 or SE, and the code inside sees a real iPhone. Safari’s true viewport width, 3x Retina pixels, a touch device, and honest client hints. Not a narrow browser window pretending to be a phone.

iPhone SEiPhone 17 Pro Max  ·  iOS 26  ·  runs 100% local

A website framed inside a photorealistic iPhone in Bezel
Not a resized window

A narrow desktop window is not an iPhone.

Dragging your browser narrow changes the width and nothing else. A real iPhone loads a different bundle, renders at 2x or 3x density, reports touch instead of a mouse, and sends its own client hints. Test on a fake phone and you are guessing. Bezel matches all of it, so what you see is what ships.

  • Real Retina density. iPhones render at 2x and 3x. Bezel renders your page at the exact pixel density, so hairline borders, shadows and @2x/@3x assets resolve like hardware instead of looking soft on a 1x laptop.
  • True Safari viewport. 375, 390, 393, 402, 430 and 440 CSS px, the widths real iPhones use. Your media queries fire at the breakpoint that matters, and safe-area insets for the notch and Dynamic Island are respected.
  • Reports as a touch device. maxTouchPoints, ontouchstart and pointer: coarse all report touch, so touch-first layouts, tap targets and hover fallbacks render the way they should. (Your mouse still clicks — Bezel spoofs what the page detects, not the input itself.)
  • Honest User-Agent and client hints. Bezel sets the iPhone’s User-Agent and the mobile client-hint flag and drops the desktop hints, and the page’s navigator.userAgentData reports iPhone, so your server and framework serve the mobile bundle, images and layout.

Works with whatever you build. Bezel frames the rendered page, so it does not care how the page was made. React, Vue, a static site or plain HTML all behave the same inside a real device.

React Next.js Vue Nuxt Angular Svelte SvelteKit Astro Remix Tailwind
Why it matters

More than half of all web traffic is mobile. Most of it is checked on a desktop window.

A shelf of real test phones costs thousands and is out of date within a year. Bezel is free, runs in the browser you already have, and stays current with the latest devices — so the mobile view you sign off on is the one your visitors actually get.

Every iPhone, real specs

18 iPhones, ready to frame

Each one carries its real viewport, pixel density and iOS version. Pick one and your page reflows exactly as it would on the glass.

iPhone 16eNew
390 × 844@3xiOS 26.0
iPhone 17New
402 × 874@3xiOS 26.0
iPhone 17 ProNew
402 × 874@3xiOS 26.0
iPhone 17 Pro MaxNew
440 × 956@3xiOS 26.0
iPhone AirNew
420 × 912@3xiOS 26.0
iPhone 16
393 × 852@3xiOS 18.5
iPhone 16 Pro
402 × 874@3xiOS 18.5
iPhone 16 Pro Max
440 × 956@3xiOS 18.5
iPhone 15
393 × 852@3xiOS 17.7
iPhone 15 Pro
393 × 852@3xiOS 17.7
iPhone 15 Pro Max
430 × 932@3xiOS 17.7
iPhone 14
390 × 844@3xiOS 17.7
iPhone 14 Pro
393 × 852@3xiOS 17.7
iPhone SE (3rd gen)
375 × 667@2xiOS 17.7
iPhone 13
390 × 844@3xiOS 17.7
iPhone 13 mini
375 × 812@3xiOS 17.7
iPhone 12
390 × 844@3xiOS 17.7
iPhone 11
414 × 896@2xiOS 17.7

See all 90+ devices →

FAQ

Good questions

Is this a real iPhone or a simulation?+
It runs in your browser with a true emulation layer, so the page reports as a touch device, renders at the correct Retina pixel density, and sends honest iPhone client hints. It is the closest you can get to a real iPhone without holding one. For final sign-off nothing fully replaces hardware, but Bezel gets the viewport, density and behaviour right, so there are no surprises when you do.
Do I need a Mac or an actual iPhone to test iPhone layouts?+
No. Bezel runs in Chrome, Edge, Brave, Arc and other Chromium browsers on Windows, macOS or Linux. You can test how your site looks and behaves on an iPhone from any machine.
Which iPhones does Bezel support?+
iPhone SE through the iPhone Air, 16 and 17 line, each with its real CSS viewport and pixel density, kept current for iOS 26. See the full list on this page and the complete device catalogue.
Can I test localhost or a staging site on iPhone?+
Yes. Bezel frames the tab you already have open, so localhost, a private staging URL, or a page behind a login all work with no tunnel and no deploy. See localhost on mobile.
Does it cost anything?+
Framing your site on any iPhone, inspecting, measuring and taking screenshots are free forever, with no ads and no account. Pro adds side-by-side compare, screen recording, and environment spoofing.