Linux SDK for UPnP Devices (libupnp)
An Open Source UPnP Development Kit

The Linux* SDK for UPnP* Devices (libupnp) provides developers with an API and open source code for building control points, devices, and bridges that are compliant with Version 1.0 of the UPnP Device Architecture Specification.

As of 2005-2006, the original developers did not have the time to work on libupnp any more and nobody expressed interest in taking over development of the main project. As a result, Michael Pfeiffer forked a new project, pupnp, where he has pledged to continue active development. This page is being left up for historical reference and in case there is ever a desire to return to the pre-fork code. In the meantime, we encourage those seeking a more current version of the library to go to the pupnp project.

General information

UPnP is an architecture that enables discovery, event notification, and control of devices on a network, independent of operating system, programming language, or physical network connection.  UPnP is based on common Internet standards and specifications such as TCP/IP, HTTP, and XML.  For detailed information about UPnP, including the UPnP Device Architecture Specification, please visit the UPnP Forum web site.

In 2000, Intel created the first version of the Linux SDK for UPnP Devices and subsequently released it to the open source community to foster growth of UPnP. To learn more about Intel's involvement with both UPnP and the SDK, please visit Intel's UPnP web site.

The future of the SDK is up to the open source community - maybe even you!  Anybody with the time and inclination is welcome to contribute to the SDK; please visit the SourceForge project page for more information on how to contribute.


Documentation is available in PDF format from the downloads section.  The documentation actually resides inside the source code itself and is built into the PDF file by an automated process.  Documentation for each function resides in a comment section immediately preceding the function.

Other projects that are using the SDK

This is a list of some of the publicly known open-source projects that are based on the Linux SDK for UPnP Devices.  Please let us know if you are working on a project and would like to see it listed here!

Mailing lists

If you have technical questions about libupnp (or simply want to listen to what others have to say), please subscribe to one of the mailing lists below. All mailing lists are hosted at SourceForge.

All previous posts to the mailing lists, as well as subscribe/unsubscribe preferences, are available on the SourceForge UPnP SDK Mailing List Page.

License conditions

The Linux SDK for UPnP Devices is distributed under the BSD (Berkeley Standard Distribution) license. For full details on the license conditions, please consult the LICENSE file located inside the SDK distribution.

*Other brands, names, or trademarks are the property of their respective owners.