Preview your localhost
on Your Phone. Instantly.

Watch it happen — plug in, run one command, and your site is live on your Android device.

Scroll to know more

No IP addresses. No firewall rules. No Wi‑Fi setup. Just plug in your phone, run one command, and Chrome opens instantly with your localhost site — fully responsive, on real hardware.

Free & open source · MIT licensed · Windows · Android

Installation

Three commands. That's the whole setup.

Install globally, confirm it's there, then run it from your project directory.

01 · Install
npm install -g synkin
02 · Verify
synkin --version
03 · Run
synkin run
Already installed?

Keep Synkin up to date

New releases add framework detection, bug fixes, and diagnostics. Update anytime — it won't touch your project files.

npm update -g synkin
or
npm install -g synkin@latest
Requirements

What you'll need

Node.js 18+
Your Android phone
USB cable
USB debugging enabled
i

Using Vite? Make sure your dev server is reachable through ADB Reverse. If it's only listening on 127.0.0.1, add this to your vite.config.ts.

vite.config.ts
server: {
  host: true,
},
Supported frameworks

Works with the stack you already use

Frontend
React Vite Next.js Angular Static HTML
Backend
Express NestJS FastAPI Flask
Databases
MongoDB PostgreSQL MySQL SQLite
Machine Learning
TensorFlow PyTorch Django and many more
Features

Everything the bridge handles for you

Automatic project discovery

Detects React, Vite, Next.js and more without any config file.

Backend support

Works with Express, NestJS, Flask, FastAPI and Django out of the box.

ADB reverse

Automatically forwards localhost ports over the USB connection.

Automatic Chrome launch

Opens your project directly on the phone the moment it's ready.

Static HTML support

Works with simple static file servers too, not just frameworks.

Clean exit

Disconnect the cable or stop Synkin — everything is cleaned up automatically.

Why Synkin

Test localhost websites on Android over USB without changing your development workflow

Testing a localhost website on Android usually involves several manual steps before you can even see your application on a real device. Most developers have to find their local IP address, connect both devices to the same Wi-Fi network, configure firewall rules, update backend API URLs, modify CORS settings, add new Google OAuth origins, or use tunneling services like ngrok or Cloudflare Tunnel.

Synkin removes all of those steps by using ADB Reverse over USB. Your Android browser opens http://localhost:5173 instead of http://192.168.x.x:5173, meaning your application behaves exactly like it does on your desktop.

Whether you're building a React, Vite, Next.js, Express, FastAPI, Flask, Django, Laravel, or even a simple HTML project, Synkin lets you test your frontend and backend APIs on a real Android device without changing your existing development setup.

Before Synkin
  • Find your local IP address
  • Connect your phone and computer to the same Wi-Fi
  • Configure firewall rules
  • Change backend API URLs
  • Fix CORS policy issues
  • Add Google OAuth localhost origins
  • Use ngrok or port forwarding
  • Reconnect after every restart
With Synkin
  • USB connection only
  • No local IP required
  • No Wi-Fi required
  • Automatic ADB Reverse
  • Automatic Chrome launch
  • Backend APIs work normally
  • Real localhost support
  • Zero configuration

Common problems Synkin solves

If you've searched for localhost on Android, test localhost on phone, React localhost Android, Vite localhost Android, Next.js localhost Android, Express localhost Android, FastAPI localhost Android, backend localhost Android, ADB Reverse localhost, USB localhost testing, or test website on a real Android device, Synkin is built specifically to solve those problems while keeping your localhost environment unchanged.

Example workflow

Three terminals, one bridge

frontend
$cd frontend
$npm run dev
backend
$cd backend
$npm run dev
bridge
$synkin run
Chrome opens on Android → localhost:5173
Live Demo

See Synkin in action

Watch how Synkin automatically detects your project, connects your Android device, configures ADB Reverse, forwards localhost ports, and opens your website in Chrome — all with a single command.

Synkin demo showing localhost website automatically opening on Android over USB using ADB Reverse
How it works

From cable to Chrome in four steps

Synkin handles device discovery, port forwarding, and browser launch — you just plug in.

1

Start your project

Run your dev server as usual, in your own terminal.

npm run dev
2

Connect your phone

Plug in your Android device with a USB cable and enable USB debugging.

3

Run Synkin

synkin run
4

Synkin takes it from here

  • Detects your Android device
  • Detects your running project, frontend and backend
  • Configures ADB reverse
  • Opens Chrome and connects it to localhost
Documentation

Everything else lives in the docs

Setup guides, troubleshooting, and the full CLI reference — kept outside the landing page so this stays quick to scan.

📘

Full documentation

Setup, usage, and framework-specific notes in one place.

Read the docs

GitHub repository

Browse the source, star the project, or fork it.

View on GitHub

Report an issue

Found a bug or missing a framework? Let us know.

Open an issue

Visit npm store

Check out the latest version and read reviews.

Visit npm store
Release Notes

Every version, one place

The current release plus full version history — click any version to see what changed.

Latest v0.2.7
Released 25 Jul 2026
  • backend port discovery updated
  • minor bug fixes and performance improvements
  • Documentation site and release notes launched
  • Branding and footer refresh across the site
  • Machine learning project detection: TensorFlow, PyTorch
  • Improved diagnostics for USB debugging issues
  • Faster device discovery on reconnect
  • Database awareness: MongoDB, PostgreSQL, MySQL, SQLite
  • Clearer error messages when ADB isn't found
  • Minor fixes to port forwarding cleanup on exit
  • Automatic CORS handling for backend requests
  • Added Next.js and Angular to project detection
  • Rewritten port discovery for more reliable matches
  • Backend support added: Express, NestJS, FastAPI, Flask, Django
  • ADB Reverse now configures automatically on connect
  • Fixed Chrome not launching on some Android versions
  • Added support for static HTML projects
  • Cleaner shutdown when the cable is disconnected mid-session
  • Small CLI output formatting fixes
  • First public release
  • USB bridge, ADB Reverse, and automatic Chrome launch
  • React and Vite project detection

Running an older version? Update to Latest version now:

npm update -g synkin
FAQ

Good to know

No. Synkin intentionally focuses on USB for a simple and reliable setup.
To enable USB debugging, go to your device's Settings > Developer Options and toggle on "USB Debugging".
go to the Android Developer website and download the SDK.
No. It never edits your project files.
No. Your frontend can keep using localhost as-is.
Yes. Synkin handles CORS automatically and you can interact with your backend independently as usual.
Yes. Backend requests work through ADB reverse.
No.nothing to open.
Yes to both. If Vite is configured to listen only on 127.0.0.1, enable server.host so the dev server is reachable for the bridge.
Yes.it support all kind of projects
Directly DM me on my Socials

Help us improve Synkin

Have a suggestion, found a bug, or need to report abuse? Drop us a message below.

Contact

Get in touch

Have questions, feedback, or want to contribute? Reach out to me on socials.