Adjusi

Open any page on phone, tablet and desktop screens at once, drag the frames to any size, test your media queries and share the view as a link. It runs in your browser and needs no account.

Quick start

  1. Open the workbench and paste an address, for example example.com or http://localhost:3000.
  2. Press Check page. Three screens open by default (phone, tablet, laptop).
  3. Switch screens on and off in the Devices list, drag a frame’s edge, or type a number on its dimension line.

Load methods

MethodWhat it doesUse it when
AutoAsks the Adjusi server whether the site allows embedding. Loads it directly if it does, through the proxy if it does not.You are not sure. The default when the server is available.
DirectLoads the page itself in each frame, exactly as in a normal tab. Cookies, logins and localhost work.Your own site, staging, localhost, or a page behind a login.
ProxyThe Adjusi server fetches the page and shows it in a sandbox, with images and styles routed through it.A site that blocks embedding. Some scripts and images may not load.

On a server without the Adjusi API (a static host, or local development) only Direct is offered. Auto and Proxy are switched off, not hidden.

Screens and sizes

Fifteen presets cover phones from the folded Galaxy Z Fold (280 px wide) to the iPhone 16 Pro Max, tablets, laptops and desktops up to 2560 px. Sets such as Essentials or All phones switch a group on in one tap.

Media queries

Type a query such as (min-width: 768px). Each frame shows Matches or No match. The query is evaluated in a hidden blank document with exactly the frame’s width and height, so the answer does not depend on the page and works on any site.

Find where it flips sweeps widths from 200 to 2560 px and lists the exact pixel where the query starts or stops matching. Tap a result to add a frame at that width. The sweep changes width only; queries on height or orientation are answered per frame.

Adjusi cannot force another site’s prefers-color-scheme or hover state, so those queries describe your browser, not a phone.

Follow and scroll together

A browser hides a framed page’s address and scroll position from the page that frames it. In Proxy mode Adjusi adds the reporting itself. On your own site, add one line before the closing </body>:

<script src="https://sifency.com/adjusi/adjusi-sync.js" async></script>

Every frame then follows the page you navigate to and scrolls with the others (position travels as a ratio, so frames of different heights stay level). The script does nothing outside a frame and talks only to the window that framed it. Untick Scroll together to turn scrolling off.

Share and report

Share link copies the address bar, which always holds the page, screens, sizes, query and zoom. Open it and you see the same view. Links are decoded defensively: unknown devices and out-of-range sizes are dropped.

Report builds one page of Markdown: the page, the screens with sizes, query results, the flip widths if you ran the sweep, and the note you wrote on each frame (the note button in a frame’s header). Copy it into a ticket, or print it (only the report prints). Notes are not saved between visits.

Keyboard

/Focus the address box
RRotate every frame
FFit to the canvas
EscClose the panel or the report

Shortcuts are ignored while you type in a field. On a phone the tools open from the Devices & tools button.

Privacy

Limits

Troubleshooting

The frame is blank or shows an error

The site sends X-Frame-Options or a CSP frame-ancestors rule that forbids embedding. Use Auto or Proxy where available. On your own site, relax those headers for staging.

A proxied page looks unstyled or is missing images

Some scripts build addresses at run time in ways Adjusi cannot rewrite, and some sites refuse requests that do not come from them. Open the page in a new tab to confirm what it should look like.

Clicking a link moves only one frame

Add adjusi-sync.js to your own site (see above). Other sites hide their address from Adjusi.

Scrolling does not sync

It needs Proxy mode or adjusi-sync.js, and the box Scroll together ticked.

“That media query isn’t valid”

Write the full query in brackets, for example (min-width: 768px) and (max-width: 1023px).

Changelog

1.0.0