Each paragraph consists of a series of data fields. Each field consists of the field name followed by a colon (U+003A ':'), and then the data/value associated with that field. The field name is composed of US-ASCII characters excluding control characters, space, and colon (i.e., characters in the ranges U+0021 '!' through U+0039 '9', and U+003B ';' through U+007E '~', inclusive). Field names must not begin with the comment character (U+0023 '#'), nor with the hyphen character (U+002D '-').
The field ends at the end of the line or at the end of the last continuation line (see below). Horizontal whitespace (U+0020 SPACE and U+0009 TAB) may occur immediately before or after the value and is ignored there; it is conventional to put a single space after the colon. For example, a field might be:
the field name is Package and the field value dpkg.
Empty field values are only permitted in source package control files (debian/control). Such fields are ignored.
A paragraph must not contain more than one instance of a particular field name.
There are three types of fields:
This folding method is similar to RFC5322, allowing control files that contain only one paragraph and no multiline fields to be read by parsers written for RFC5322.
Whitespace must not appear inside names (of packages, architectures, files or anything else) or version numbers, or between the characters of multi-character version relationships.
The presence and purpose of a field, and the syntax of its value may differ between types of control files.
Field names are not case-sensitive, but it is usual to capitalize the field names using mixed case as shown below. Field values are case-sensitive unless the description of the field says otherwise.
Paragraph separators (empty lines) and lines consisting only of U+0020 SPACE and U+0009 TAB, are not allowed within field values or between fields. Empty lines in field values are usually escaped by representing them by a U+0020 SPACE followed by a dot (U+002E '.').
Lines starting with U+0023 '#', without any preceding whitespace are comments lines that are only permitted in source package control files (debian/control) and in deb-origin(5) files. These comment lines are ignored, even between two continuation lines. They do not end logical lines.
All control files must be encoded in UTF-8.