Adobe published the PostScript-based Illustrator format up to version 7 (the “Adobe Illustrator File Format Specification”, 1998). The PDF-based format of Illustrator 9 and later is not documented beyond being a valid PDF. The version signatures below are those of the UK National Archives’ PRONOM registry, which takes them from Adobe’s documentation and from sample files.
Two layouts
| Layout | Versions | Starts with | Contents |
|---|---|---|---|
| PostScript | Illustrator 88 to 8, and later versions saving in those legacy formats | %!PS-Adobe- | An EPS-style PostScript file: header comments, a prolog of Illustrator’s procedure sets, then a script of Illustrator’s own short operators for paths, paint and text. It may have the 30-byte DOS EPS header (C5 D0 D3 C6) in front. |
| Illustrator 9 and later, the default | %PDF- | A valid PDF of the artwork for viewing and placing, with Illustrator’s native data stored inside it as private streams. |
Version markers
Both layouts carry a PostScript-style header with a %AI5_FileFormat
comment whose number identifies the version. In PDF-based files that header sits
inside the private data; Illustrator 13 and later also put
<illustrator:Type>Document</illustrator:Type> in the XMP
metadata near the start.
| Illustrator | Layout | Marker | PRONOM |
|---|---|---|---|
| 88 | PostScript, %!PS-Adobe-2.0 EPSF-1.2 | %%Creator: Adobe Illustrator(TM) 88 or %%DocumentProcSets: Adobe_Illustrator_88 | fmt/417 |
| 3.0, 3.2 | PostScript, DSC 2.0 or 3.0, optionally with the DOS EPS header | a procset Adobe_Illustrator_AI3 (or Adobe_IllustratorA_AI3) resource | fmt/418 |
| 5.0, 5.5 | PostScript, %!PS-Adobe-3.0 | %AI5_FileFormat 1 | fmt/420 |
| 6.0 | PostScript | %AI5_FileFormat 2 | fmt/422 |
| 7.0 | PostScript | %AI5_FileFormat 3 | fmt/423 |
| 8.0 | PostScript | %AI5_FileFormat 4 | fmt/557 |
| 9.0 | PDF 1.3 or 1.4 | %AI5_FileFormat 5 | fmt/558 |
| 10.0 | PDF 1.4 | %AI5_FileFormat 6 | fmt/559 |
| 11.0 (CS) | PDF 1.4 | %AI5_FileFormat 7 | fmt/560 |
| 12.0 (CS2) | PDF 1.4 | %AI5_FileFormat 8 | fmt/561 |
| 13.0 (CS3) | PDF 1.5 | %AI5_FileFormat 9 | fmt/562 |
| 14.0 (CS4) | PDF 1.5 | %AI5_FileFormat 10 | fmt/563 |
| 15.0 (CS5) | PDF 1.5 | %AI5_FileFormat 11 | fmt/564 |
| 16.0 (CS6) | PDF 1.5 | %AI5_FileFormat 12 | fmt/565 |
| 17 to 23 (CC to 2019) | PDF 1.5 | %AI5_FileFormat 13 | fmt/1862 |
| 24 to 24.1 (2020) | PDF 1.5 | %AI5_FileFormat 14 | fmt/1863 |
| 24.2 and later | PDF 1.6 | %AI5_FileFormat 14 | fmt/1864 |
Illustrator templates (.ait) use the same layout and markers.
PostScript-based files
The header follows the Document Structuring
Conventions as an EPS file does, with %%BoundingBox,
%%Creator: Adobe Illustrator(R) … and the procedure sets it needs, and adds
Illustrator comments that start %AI followed by the version that
introduced them, such as %AI3_TemplateBox, %AI3_Cropmarks and
%AI5_FileFormat. The body is a script of one- and two-letter operators
defined by the prolog, for example m (move to), l and
L (line to), c, C, v,
V, y, Y (curves), f, F,
s, S, b, B, n,
N (fill, stroke, both or neither, closing the path or not),
u and U (begin and end a group), g and
k (grey and CMYK fill colour), G and K (the same
for stroke) and w (line width). Adobe’s 1998 specification defines the
full operator set; it is not reproduced here.
PDF-based files
A PDF-based AI file opens in any PDF reader, which shows the artwork of the first artboard. Illustrator ignores that PDF content when it opens the file and reads its native data instead:
- The page dictionary has a
/PieceInfoentry with an/Illustratordictionary, whose/Privatedictionary lists the native data streams/AIPrivateData1,/AIPrivateData2and so on (PRONOM’s Illustrator 9 to 12 signatures look forAIPrivateData). - Joined in order, the streams hold a PostScript-style document that starts with
%!PS-Adobe-3.0and the%AI5_FileFormatheader. - In later versions most of that document follows a
%AI12_CompressedDataline and is compressed with Deflate. - A file saved without “Create PDF Compatible File” has only a placeholder page in its PDF part.
The structure of the native data in PDF-based files is not published; the points above come from examining files and should be treated as reverse-engineered.