Android · Windows · macOS · No root

screenless

Use an Android phone with a broken screen from any laptop. See it in a window and control it with your mouse and keyboard, over USB or Wi-Fi.

A moto g30's Developer options screen mirrored in a window on a Mac desktop
A real moto g30 with a broken display, mirrored and controlled from a laptop.

See it in action

Everything in this clip is driven from the laptop. The phone's own display is off.

Settings → Chrome → this website, scrolled with the mouse. Recorded straight from the phone with scrcpy --record.

What you get

One click

Double-click Phone. USB if the cable's in, Wi-Fi if not. Quality is tuned for each, and the phone's IP is remembered.

No phone screen needed

Mouse, keyboard, clipboard and pattern unlock from the laptop. The phone's damaged display stays off.

Wireless

Run once over USB and it switches the phone into wireless mode. After that, no cable.

Any laptop

Copy the phone's trusted key to a friend's laptop and it connects with no "Allow?" prompt.

Faster phone

Reversible tuning: quicker animations, stay-awake, bloatware off. +210 MB free RAM on a moto g30.

A real Mac app

Your phone as a card, one click to mirror, reconnects by itself. Native Swift, 308 KB.

AI setup

Open OpenCode or Claude Code in the folder and say “connect my phone”. It follows AGENTS.md.

The Mac app

Typing a command every time got old, so it became an app.

It's a small native Mac app, 308 KB, written in Swift. Your phone shows up as a card. Click Mirror and it's on your screen, over Wi-Fi or USB. If the Wi-Fi drops for a second, it reconnects on its own. Everything in the clip below runs from the Mac, with the phone's own screen off and no cable plugged in.

Recorded on a Mac, 31 Oct 2026. Settings → this website in Chrome → calculator (2026 × 12 = 24,312). The moto g30 is on a phone hotspot; nothing is plugged in.
The screenless Mac app: a card for the moto g(30) reading Wi-Fi, ready to mirror, with Mirror, Stop, Snapshot, Pair wizard and Saved devices buttons

What's in it:

  • A card for every phone it can see, with its address
  • Mirror and Stop, plus a status light
  • A pairing wizard for Android 11+ phones
  • Snapshot, for a quick screenshot of the phone
cd screenless/app/macos
./build.sh --install

Set up on Windows

  1. Turn on USB debugging

    Settings → About phone → tap Build number 7×. Then Developer options → USB debugging ON and Disable ADB authorisation timeout ON.

    Developer options with USB debugging and Disable ADB authorisation timeout switched on
  2. Get the project and install

    Installs scrcpy and puts a “Phone” shortcut on your Desktop.

    git clone https://github.com/prutxvi/screenless C:\screenless
    cd C:\screenless\windows
    powershell -ExecutionPolicy Bypass -File .\install.ps1
  3. Plug in and double-click Phone

    First time only: tap Always allow on the phone. The mirror opens.

  4. Go wireless

    Unplug, double-click Phone again. Same Wi-Fi network needed.

Controls

Tap Left-click
Back Right-click
Home Middle-click
Wake / lock Alt + P
Phone screen off Alt + O
Recent apps Alt + S

On a Mac, use Cmd instead of Alt.

Measured on a moto g30

BeforeAfterWhat changed
Free RAM650 MB860 MB12 background bloat apps disabled
Animations1.0×0.5×Screens open about twice as fast
Mirror black on Wi-FiYesNoStay-awake that works without charging
Wi-Fi ping, 2.4 GHz hotspot166 ms avg—Network-bound: use 5 GHz or USB
Phone restarted and Wi-Fi stopped? Android turns wireless mode off on every restart. Plug in, start Phone once, unplug. Why, and how to automate it →