UPNPLib ist eine Java-Bibliothek für das UPNP-Protokoll. Sie bietet eine einfache Programmierschnittstelle für Entwickler sowie eine HTTP-basierte Konsole für Endanwender oder Entwickler, womit sie die UPNP-Geräte im Netz steuern können. Sie implementiert alle UPNP-Features wie Entdeckung und Ereignisse. Die Bibliothek stellt auch eine Integration in JMX-Management (durch Präsentation von UPNP-Geräten als MBeans) und RMI durch transparente NAT/Firewall-Durchquerung bereit.