Das hier beschriebene Format wird seit Debian 0.93 verwendet; Details über das alte Format sind in deb-old(5) beschrieben.
Derzeit werden die folgenden tar-Archive erlaubt: alter Stil (V7-)Format, prä-POSIX-ustar-Format, eine Teilmenge des GNU-Formats (der neue Stil mit langen Pfadnamen und langen Linknamen, unterstützt seit Dpkg 1.4.1.17; große Datei-Metadaten seit Dpkg 1.18.24) und das POSIX-ustar-Format (lange Namen seit Dpkg 1.15.0 unterstützt). Unbekannte Tar-Typeinstellungen werden als Fehler betrachtet. Jede Tar-Eintraggröße innerhalb eines Tar-Archivs ist auf 11 ASCII-Oktalziffern begrenzt; damit sind bis zu 8 GiB-Tar-Einträge möglich. Die Unterstützung der großen Dateimetadaten im GNU-Format ermöglicht 95-Bit-Tar-Eintragsgrößen und negative Zeitstempel und 63-Bit-UID, -GID und -Gerätenummern.
Das erste Element heißt debian-binary und enthält eine Reihe von Zeilen, die durch Zeilenumbrüche getrennt sind. Derzeit ist nur eine Zeile vorhanden, die Versionsnummer, 2.0 zum Zeitpunkt, zu dem diese Handbuchseite geschrieben wurde. Programme, die Archive im neuen Format lesen, sollten darauf vorbereitet sein, dass sich die Nachkommazahl erhöht und neue Zeilen vorhanden sein können, und sollten diese ignorieren, falls dies der Fall ist.
Falls sich die Vorkommazahl geändert hat, wurde eine inkompatible Änderung durchgeführt und das Programm sollte sich beenden. Falls dies nicht der Fall ist, dann sollte das Programm sicher fortfahren können, es sei denn, ein unerwartetes Element ist im Archiv (abgesehen vom Ende) gefunden worden, wie nachfolgend beschrieben.
Das zweite erforderliche Element heißt control.tar. Es ist ein Tar-Archiv (entweder nicht komprimiert (wird seit Dpkg 1.17.6 unterstützt) oder mit Gzip (mit der Endung .gz) bzw. Xz (mit der Endung .xz, seit Dpkg 1.17.6 unterstützt) komprimiert), das die Steuerinformationen als eine Reihe von normalen Dateien enthält, von denen die Datei control zwingend erforderlich ist und die Kern-Steuerinformationen enthält. Die Dateien conffiles, triggers, shlibs und symbols enthalten bestimmte optionale Steuerinformationen und die Dateien preinst, postinst, prerm und postrm sind optionale Betreuerskripte. Der Steuer-Tarball kann optional einen Eintrag für bq.', das aktuelle Verzeichnis, enthalten.
Das dritte, letzte zwingend benötigte Element heißt data.tar. Es enthält das Dateisystem als Tar-Archiv, entweder unkomprimiert (seit Dpkg 1.10.24 unterstützt) oder mit gzip (Dateiendung .gz), xz (Dateiendung .xz seit Dpkg 1.15.6 unterstützt),bzip2 (Dateiendung .bz2, seit Dpkg 1.10.24 unterstützt) oder lzma (Dateiendung .lzma, seit Dpkg 1.13.25 unterstützt) komprimiert.
Diese Elemente müssen in genau dieser Reihenfolge erscheinen. Aktuelle Implementierungen sollten zusätzliche Elemente nach data.tar ignorieren. Weitere Elemente könnten in der Zukunft definiert werden und werden (falls möglich) nach diesen drei platziert. Alle zusätzlichen Elemente, die nach debian-binary und vor control.tar oder data.tar eingefügt werden könnten und die problemlos von älteren Programmen ignoriert werden sollten, werden Namen haben, die mit einem Unterstrich bq_' anfangen.
Solche neuen Elemente, die nicht problemlos ignoriert werden können, werden vor data.tar mit Namen, die nicht mit einem Unterstrich anfangen, eingefügt oder werden (wahrscheinlicher) dazu führen, dass die Hauptversionsnummer erhöht wird.