b2KIT

Responsive Layout Tester

Preview HTML layouts at multiple viewport widths simultaneously with device frame overlays.

Tested tool guide Tested browser tools Checked August 16, 2026

What Responsive Layout Tester does, with a checked example

This tool renders one HTML document in several panes at once, each pinned to a different viewport width and wrapped in a device frame, so a phone, tablet, and desktop layout sit side by side without you resizing anything. Because each pane is a real viewport, media queries are evaluated per pane, and the same stylesheet produces a different layout in each frame. The usual surprise is the frames: the device chrome is illustration, and only the inner width drives the layout, so a breakpoint that falls between the pane widths appears in no pane at all.

Worked example

A concrete input and expected output from the current implementation.

Input

<style>
  .box { background: #FF9500; }
  @media (min-width: 600px) { .box { background: #007AFF; } }
  @media (min-width: 1000px) { .box { background: #30D158; } }
</style>
<div class="box" style="width:100%;height:120px">box</div>

Expected output

The box renders orange in every pane narrower than 600px, blue in panes from 600px to 999px, and green in panes 1000px and wider. The color flips appear exactly at the two breakpoints, so the row of panes reads as a map of where each query boundary falls.

min-width media queries match once the viewport reaches the stated width, and at equal specificity the last matching rule wins, so the blue rule owns 600-999px and the green rule takes over at 1000px. The per-pane colors follow directly from how the queries are defined.

How the result is produced

1

One document, many viewports

The tool takes the HTML you supply and renders it inside several panes at once, each constrained to a different viewport width. Every pane runs the same document, so anything layout-sensitive, including media queries, percentage widths, fluid units, and flex wrapping, is recomputed against each pane's own width. The result is a set of real renders to compare, not one render resized into a few frames.

2

Device frames as context

Each pane is wrapped in a device frame, phone, tablet, or desktop, drawn around the viewport. The frame labels the class of device a width corresponds to, but it is a visual overlay only: it does not alter the width, resolution, or behavior of the pane inside it. The layout is decided solely by the inner viewport width, so two panes at the same width always match.

Good uses

  • Check a set of breakpoints in one glance: paste the HTML and see the phone, tablet, and desktop renders side by side instead of resizing a browser window repeatedly.
  • Find the width where a layout breaks: compare panes just below and just above a suspected breakpoint to locate the exact collapse point.
  • Confirm a fix holds: after editing media queries or fluid sizing, verify that every pane shows the intended layout at its target width before you ship.

Limits and checks

  • A pane is a width, not a device. A 375px pane shows how the CSS behaves at 375px; it does not reproduce touch input, browser chrome, safe-area insets, or mobile Safari quirks. Anything device-specific still needs a test on a real device.
  • Breakpoints can hide between panes. If your query sits at 640px and the panes land at 375px, 768px, and 1280px, no pane shows the switch. Make sure some pane sits on each side of every breakpoint you care about.
  • The pane reflects only what the pasted HTML can load. External fonts, images, and scripts are fetched over the network, so a failed, blocked, or slow resource makes the pane look different from the live site. Check the console for errors if a pane seems wrong.

Common questions

Does the phone-framed pane behave like an actual iPhone?

No. The frame is a label, and the pane is just a browser viewport at that width. It evaluates media queries exactly as a 375px-wide browser would, but it has no touch input, no mobile Safari engine quirks, and no device chrome or safe-area insets. It answers how the layout looks at that width, not how the device behaves.

Why do all my panes show the same layout?

Because the CSS does not respond between the widths you picked: either there is no breakpoint between them, or the content already fits at the narrowest pane. Move a pane closer to a breakpoint boundary, or change a query, and the panes diverge. Identical panes usually mean missing breakpoints, not a broken tool.

References and verification

The example and behavioral notes were checked against the browser implementation. Standards and primary references below define the relevant format, formula, or platform behavior.

Related Tools