Remote Pi Web

JavaScriptC / C++HTML / CSSNodeJSEducationToolsRaspberry Pi

Operate your Raspberry Pi from a web browser.

Open issues

Last 30 days

PRs opened


Web app alternative to VNC for X11 (meant for Raspberry Pi).

Screen capture

Road Map

  • Screen viewable from web client
  • Scale canvas to browser's screen
  • Mouse control
  • Keyboard control
  • Server configuration
  • Sockets
  • MJPEG streaming
  • Client-side configuration


Install Node.js

sudo apt install xdotool

git clone
cd remote-pi-web
npm install

You can make your Pi think it has a screen by forcing HDMI output in the config.txt.

This can be done by removing the # from the line of the config.txt that looks like this: #hdmi_safe=1.


Other env vars: CAPTURE_METHOD (defaults to 'native', 'scrot' requires it to be installed), QUALITY (defaults to 25), REFRESH_INTERVAL_MS (defaults to 500), VIEW_ONLY (defaults to false)

env DISPLAY=:0 npm start

System Dependencies

  • npm (Comes with Node.js)
  • xdotool (if you want mouse and keyboard control)

Currently seeking

DevelopersBackend DevelopersFrontend DevelopersTesters


PRs Welcome!

Any one of these would be a great PR:

  • Improve click-and-drag
  • Reduce latency - ideally using MJPEG streaming
  • Add client-side options
  • Add tests
  • Add/change anything you wish ;)


  • Do not break or degrade any current functionality
  • Follow SemVer when making changes

Built with tea and love by