noVNC is an HTML5 VNC client that allows browser-based access to VNC servers. It is often used as a building block for remote desktop systems or embedded into other platforms. noVNC is lightweight and flexible, supporting secure access over WebSockets. It runs in a browser and can be deployed as a simple web service.
noVNC was created by Joel Martin in 2011 and is now maintained by the noVNC community. It has been integrated into many projects including OpenStack, OpenNebula, and ThinLinc.
- Browser-based VNC client (no client installation required)
- WebSocket proxy support (via websockify)
- Lightweight JavaScript implementation
- Supports VNC authentication and encryption
- Touch gestures for mobile devices
- Clipboard integration
- Multiple VNC encodings (raw, tight, ZRLE, H.264)
noVNC requires:
- VNC server (x11vnc, TigerVNC, QEMU, or any VNC server)
- WebSocket support (native or via websockify proxy)
- Modern web browser (Chrome, Firefox, Safari, Edge)
- Web-based VNC access to remote desktops
- Embedded remote desktop interfaces in applications
- VM console access (QEMU, KVM, OpenStack)
- Lightweight remote desktop client
- JavaScript (ES6+)
- HTML5 Canvas
- WebSockets
- MPL-2.0 (Mozilla Public License 2.0)
- Latest version: 1.6.0 (March 2025), 1.7.0-beta (November 2025)
- Open-source and self-hosted
- Sister project: websockify (WebSocket to TCP proxy)
¶ History and References
Any questions?
Feel free to contact us. Find all contact information on our contact page.