Remote Pi Web

Operate your Raspberry Pi from a web browser.


Last 30 days:

Open issues
PRs opened

Project type

EducationToolsRaspberry Pi

Project tech

JavaScriptC / C++HTML / CSSNodeJS

Currently seeking

  • Developers
  • Backend Developers
  • Frontend Developers
  • Testers

Contribution overview

The maintainers of this project have not provided a contribution overview.


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

Screen capture

Road Map

  • [x] Screen viewable from web client
  • [x] Scale canvas to browser's screen
  • [x] Mouse control
  • [x] Keyboard control
  • [x] Server configuration
  • [x] 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)


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
Project listed on October 02, 2021