Protocol Buffers är ett flexibelt, effektivt och automatiserat system för seriekoppling av strukturerade data, som liknar XML, men mindre, snabbare och enklare. Du definierar hur du vill att informationen du seriekopplar ska struktureras genom att definiera Protobuf-meddelandetyper i .proto-filer. Varje Protobuf-meddelandetyper är en liten logisk enhet av data som kan innehålla ett antal fält enligt programmeringskravet. Dessa fält kan vara ett av de definierade Protobuf-datatyperna.
Protobuf supportar tre datatyper: skalära (eller singelvärd), i vilka ett värde lagras; meddelande, vilket kan representera ett komplexa objekt sammansatt av flera fält; och upprepade fält, vilket motsvarar kravet på en lista eller en array av värden av samma typ. Protobuf-meddelanden kan vara djupt nästlade och komplexa. För nästlade objekt kan topp-nivå-objektet seriekoplas, vilket också seriekopplar alla underliggande objekt.
En av de stora fördelarna med Protocol Buffers är att det genererar tillgångskoden i flera språk. Du kan skapa strukturer eller meddelanden i ett språk, seriekoppla dem, och sedan de-seriekoppla dem i ett annat programmeringsspråk. Det är en viktig funktion som gör att Protobuf skiljer sig från andra tekniker för seriekoppling av data.