Universal Plug and Play (UPnP) on kokoelma verkkoprotokollia, joiden tarkoituksena on helpottaa erilaisten ja eri valmistajien medialaitteiden yhteistoimintaa. Tarkoitus on, että UPnP:tä tukevat laitteet, kuten esimerkiksi mediasoittimet ja -palvelimet saadaan keskustelemaan keskenään ilman monimutkaisia säätötoimenpiteitä.
UPnP on suunniteltu siten, että protokolla itsessään on täysin riippumaton laiteajureista. UPnP:n pohjana onkin joukko yleisiä ja avoimia verkkostandardeja, kuten TCP/IP, UDP, HTTP ja XML. Yleinen käyttötarkoitus UPnP:lle on luoda PC:stä video- ja musiikkipalvelin, joka jakaa mediatiedostoja verkon päätelaitteille.
UPnP-verkko voi koostua esimerkiksi lähiverkkoon kytketystä PC:stä, jossa pyörii UPnP-mediapalvelin ja UPnP-mediatoistimesta/ohjauspisteestä, joka voi olla esimerkiksi stereoihin kytketty päätelaite. Päätelaitteen kautta käyttäjä voi ohjata palvelimen toimintaa ja siten esimerkiksi valita, mitä videota katselee tai musiikkikappaletta kuuntelee.
Periaatteessa UPnP mahdollistaa minkä tahansa laitteen liittämisen verkkoon, kunhan laite tukee protokollaa. Protokolla käyttää SSDP (Simple Service Discovery Protocol) -protokollaan perustuvaa etsintäprotokollaa etsiäkseen muita verkossa olevia UPnP-laitteita. Laitteet kommunikoivat keskenään XML:ään perustuvia tietopaketteja käyttäen. Paketit sisältävät kuvauksen laitteesta ja sen palveluista. Laitteet voivat myös ilmoittaa itsestään aktiivisesti verkossa (eli "mainostaa" itseään). Samoin laite voi pyytää toiselta laitteelta tapahtumailmoitusta haluamastaan tapahtumasta, esimerkiksi kappaleen vaihdosta.
UPnP:tä ylläpitämään on perustettu eri laitevalmistajista koostuva UPnP Forum. Sen toiminnassa oli vuoden 2007 lopulla mukana yli 800 (847) yritystä.