2011 – Creation by Joel Martin
noVNC was created by Joel Martin (GitHub: kanaka) in 2011 as an HTML5 VNC client JavaScript library. The project was initially licensed under LGPLv3 and later relicensed to MPL 2.0. The name “noVNC” reflects its purpose: a VNC client that requires no native software installation—just a modern web browser.
Early development – WebSocket innovation
noVNC was among the first projects to leverage HTML5 WebSockets for remote desktop access. At the time, VNC servers used raw TCP connections, so noVNC introduced wsproxy (later renamed to websockify) as a WebSocket-to-TCP proxy. This innovation enabled browser-based VNC clients to communicate with traditional VNC servers.
websockify becomes a separate project
As the WebSocket proxy proved useful beyond noVNC, it was spun off into its own project called websockify. This separation allowed websockify to be used independently for any application needing WebSocket-to-TCP proxying.
Enterprise adoption – OpenStack and beyond
noVNC gained significant traction when it was integrated into OpenStack for VM console access. This enterprise adoption validated noVNC as a production-ready solution. Other projects followed, including OpenNebula, LibVNCServer, and ThinLinc, expanding noVNC’s reach across virtualization and remote access platforms.
Browser evolution – HTML5 maturity
As modern browsers matured, noVNC evolved to leverage new HTML5 features like Canvas rendering, improved WebSocket performance, and touch gesture support. The project dropped support for older browsers and focused on Chrome, Firefox, Safari, and Edge, enabling better performance and security.
License evolution – MPL 2.0
The noVNC core library transitioned from LGPLv3 to MPL 2.0 (Mozilla Public License 2.0), providing a more permissive license while maintaining open-source principles. This change aligned noVNC with broader open-source ecosystem practices.
Community maintenance – Post-founder era
After Joel Martin’s initial development, noVNC transitioned to community maintenance under the noVNC organization on GitHub. The project continues to receive contributions from developers integrating noVNC into various platforms and improving core functionality.
Modern development – Version 1.x
noVNC has evolved through multiple major versions:
Today – Embedded infrastructure
Today, noVNC is rarely used as a standalone product but is deeply embedded in virtualization platforms, cloud infrastructure, and remote access tools. Its position as “infrastructure software” means many users interact with noVNC without knowing its name—whenever they access a VM console through a web browser, they’re likely using noVNC.
| Fact | Details |
|---|---|
| Creator | Joel Martin (GitHub: kanaka) |
| Created | 2011 |
| License | MPL 2.0 (Mozilla Public License 2.0) |
| Latest Version | 1.6.0 (March 2025), 1.7.0-beta (November 2025) |
| Sister Project | websockify (WebSocket to TCP proxy) |
| Notable Integrations | OpenStack, OpenNebula, ThinLinc, LibVNCServer, QEMU |
| Repository | https://github.com/novnc/noVNC |