Skip to content

About

A modern responsive design testing tool for previewing and testing websites across mobile, tablet, laptop, and desktop screen sizes.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

Responsive Tester

A production-quality responsive website testing platform for developers.

Paste a local or public URL, select phone / tablet / laptop / desktop viewports, and see exactly how your website behaves at that size.

Features

  • True viewport testing — iframe uses actual CSS width/height so media queries work correctly
  • Localhost & LAN support — http://localhost:5173, 127.0.0.1, 192.168.x.x
  • Device presets — Mobile, Tablet, Laptop, Desktop with realistic sizes
  • Custom viewports — any width/height 200–5000px
  • Orientation — Portrait / Landscape
  • Zoom — scale the preview while keeping real viewport dimensions
  • Device frames — optional phone/tablet/laptop chrome
  • Ruler & grid overlays
  • Safe-area simulation for mobile
  • Breakpoint toolbar
  • Keyboard shortcuts (R, F, +, -, 0, Esc)
  • Recent URL history (localStorage)
  • Projects dashboard (localStorage demo; Prisma/PostgreSQL ready)
  • Dark / light theme
  • Responsive UI itself works on mobile

Tech Stack

  • Next.js 16 (App Router)
  • TypeScript
  • Tailwind CSS v4
  • Lightweight custom UI components
  • TypeScript validation helpers
  • Local browser storage for demo projects/history

Installation

npm install

Environment

Copy .env.example to .env and fill in values if you enable database features:

cp .env.example .env

Development

npm run dev

Open http://localhost:3000.

Testing a local website

  1. Start your project (e.g. Vite or another Next app):
npm run dev
  1. Copy the URL (e.g. http://localhost:5173)

  2. Open Responsive Tester → paste the URL → Load

  3. Select a device (Mobile, Tablet, …)

LAN testing

To test from another device on the same network:

npm run dev -- --hostname 0.0.0.0

Then use your machine’s LAN IP, e.g. http://192.168.1.10:5173.

Production

npm run build
npm start

Project structure

src/
├── app/                 # Routes (landing, tester, dashboard, login, signup)
├── components/
│   ├── ui/              # Button, Input, Card, Tooltip
│   ├── tester/          # UrlBar, DeviceSelector, PreviewFrame, …
│   ├── navbar/
│   └── shared/
├── data/devices.ts      # Device presets (easy to extend)
├── lib/                 # utils, validation
└── types/

Keyboard shortcuts

Key Action
R Refresh
F Fullscreen
+ Zoom in
- Zoom out
0 Reset zoom
Esc Exit fullscreen

Notes on iframe security

Some sites set X-Frame-Options or CSP frame-ancestors and cannot be embedded. The app shows a clear error and does not attempt to bypass browser security.

Screenshots of cross-origin iframes are blocked by the browser; use OS tools or open the site in a new tab.

License

MIT

About

A modern responsive design testing tool for previewing and testing websites across mobile, tablet, laptop, and desktop screen sizes.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages