Chaque paragraphe consiste en une série de champs de données. Chaque champ est constitué d'un nom de champ suivi de deux-points (U+003A « : »), puis les données ou valeur associées à ce champ. Le nom du champ est composé de caractères US-ASCII à l'exception des caractères de contrôle, de l'espace et des deux-points (c'est-à dire des caractères entre U+0021 « ! » et U+0039 « 9 », et entre U+003B « ; » et U+007E « ~ » compris). Les noms de champ ne doivent pas commencer par le caractère de commentaire « (U+0023 # », ni par le caractère trait d'union (U+002D « - ».
Les champs se terminent à la fin de la ligne ou à la fin de la dernière ligne de continuation (voir ci-dessous). Une espace horizontale (U+0020 ESPACE et U+0009 TABULATION) peut apparaître immédiatement avant ou après la valeur et est ignorée dans ce cas ; par convention, il y une espace unique après les deux-points. Par exemple, un champ pourrait être :
Package: dpkg
le nom du champ est Package et la valeur du champ dpkg.
Des valeurs de champ vides ne sont permises que dans les fichiers de contrôle des paquets source (debian/control). Ces champs sont ignorés.
Un paragraphe ne doit pas contenir plus d'une instance d'un nom de champ particulier.
Il y a trois types de champ :
La méthode de coupure est similaire à RFC5322, permettant à des fichiers de contrôle, qui contiennent seulement un paragraphe et pas des champs à plusieurs lignes, d'être lus par les analyseurs écrits pour RFC5322.
Aucune espace ne doit apparaître dans les noms (de paquet, d'architecture, de fichier ou n'importe quoi d'autre) ou les numéros de version, ou entre les caractères des relations des versions multi-caractères.
La présence et le but d'un champ, ainsi que la syntaxe de sa valeur peuvent différer selon les types de fichiers de contrôle.
Les noms de champ ne sont pas sensibles à la casse, mais il est habituel de mettre en capitale l'initiale des noms de champ utilisant une casse mixte comme indiqué plus bas. Les valeurs de champ sont sensibles à la casse à moins que la description du champ ne dise le contraire.
Les séparateurs de paragraphes (lignes vides) et les lignes constituées uniquement de U+0020 ESPACE et U+0009 TABULATION, ne sont pas permis dans les valeurs de champ ou entre les champs. Les lignes vides dans les valeurs de champ sont habituellement protégées par une U+0020 ESPACE suivie par un point (U+002E « . »).
Les lignes débutant par un U+0023 « # », sans être précédées d'une espace sont des lignes de commentaires qui ne sont permises que dans les fichiers de contrôle de paquet source et dans les fichiers deb-origin(5). Ces lignes de commentaires sont ignorées, même entre deux lignes de continuation. Elles ne peuvent pas terminer les lignes logiques.
Tous les fichiers de contrôle doivent être encodés en UTF-8.