PostScript MIME Type

Learn what application/postscript means, how PS and EPS files differ, how to open them safely, and how Poly handles PostScript files.

MIME type details for application/postscript

In active use
MIME typeapplication/postscript
Extensions
.ps.eps.ai
Magic number25 21 (`%!`) for DSC-conforming files
First standardized1985
Created byAdobe Systems Incorporated
Browser supportNo native browser preview
Example applicationsGhostscript, Adobe Illustrator
Poly supportPartial. Poly recognizes .ps and application/postscript, and can store, sync, share, and version the file, but it does not execute or render PostScript.
Indexed by PolyPartial. Poly indexes the PostScript file's name and ordinary file properties, but not its program, document text, DSC comments, or rendered pages.
Preview in PolyNo. Poly classifies PostScript as an archive and does not generate page thumbnails or provide an in-app PostScript viewer.
Poly agentNo. The Poly agent cannot execute, read, or reason about the PostScript program or its rendered document.

What does application/postscript mean?

The application/postscript media type identifies a program written in Adobe's PostScript language.1 Most files using it describe pages for printing, typesetting, or exchanging vector artwork, but PostScript is more than a static page format. It is an executable, stack-based programming language with graphics, font, arithmetic, control-flow, and file operators.2

That distinction matters. A PostScript interpreter executes instructions to paint each page. It does not simply unpack a fixed collection of page objects. The same expressive power that made the language useful for printers also makes an untrusted PostScript file riskier than an ordinary image.

The usual extension for a multi-page document or print job is .ps. Encapsulated PostScript normally uses .eps, and .epsf is also encountered. The .ai extension has a more complicated history: older Adobe Illustrator artwork could be PostScript-based, while current Illustrator files may contain PDF-compatible data and should be identified by their contents rather than their suffix alone.34

application/postscript describes the program being transferred. It does not guarantee that the program is DSC-conforming, self-contained, device-independent, safe to execute, or limited to a particular PostScript LanguageLevel.

Where did PostScript come from?

Adobe developed PostScript in the early 1980s and introduced the language commercially in 1985. The Apple LaserWriter, released that year, helped connect PostScript with desktop publishing by putting an interpreter inside a laser printer.3 Instead of having every application know the details of every output device, software could emit one page-description program for a PostScript interpreter to render.

Adobe organized later additions into three LanguageLevels. LanguageLevel 2 expanded the original language in 1990, and LanguageLevel 3 followed in 1999. Each level includes the features of the levels below it, while the core imaging model remains substantially the same.23

The MIME registration has its own timeline. RFC 2046 standardized application/postscript in November 1996 and describes it as a PostScript program. Its registration text discusses LanguageLevel 1 and 2, recommends Adobe's Document Structuring Conventions (DSC), and devotes extensive space to interpreter security.15 LanguageLevel 3 arrived later, so the registration's list of levels should not be read as a complete inventory of PostScript now found in the wild.

PostScript remains active in printing and prepress systems, but PDF has largely replaced saved .ps and .eps files for ordinary document exchange. PDF retains a related imaging model while providing a structured document representation and random access to pages rather than requiring a PostScript program to be executed from beginning to end.36

How do you identify a PostScript file?

A DSC-conforming page description starts with a line such as:

%!PS-Adobe-3.0

The first two bytes are therefore commonly 25 21 in hexadecimal, the ASCII characters %!. The remainder of the line declares DSC conformance and a DSC version, not necessarily the interpreter's LanguageLevel. Structured comments beginning with %% can identify pages, required resources, creator software, titles, bounding boxes, and other processing information.23

This prefix is a strong clue, not a universal magic number. Adobe strongly recommends DSC for regular page descriptions but does not require it, and PostScript can mix textual tokens with binary-encoded data.2 A file that begins with %! can also still be malformed or hostile. Reliable validation requires a restricted interpreter, appropriate resource limits, and knowledge of the workflow in which the program will run.

EPS uses a more specific header, typically resembling:

%!PS-Adobe-3.0 EPSF-3.0
%%BoundingBox: 0 0 612 792

An EPS program describes at most one page in a device-independent form intended for placement inside another document. Adobe's rules prohibit printer-specific operators in an EPS file.2 The bounding box tells the importing application which rectangle the illustration occupies.

Do not decide that a file is safe or compatible from .ps, .eps, or %! alone. Check the DSC header and declared resources, then process the file with maintained software in a restricted environment.

Are PS, EPS, AI, and PDF the same thing?

No. They overlap historically, and Adobe applications can convert among some of them, but they impose different structures and expectations.

FormatTypical extensionWhat it representsImportant limitation
PostScript document.psAn executable page-description program, often with one or more pagesRendering proceeds by interpreting the program
Encapsulated PostScript.eps or .epsfAt most one device-independent page for embedding in another documentMust obey EPS restrictions and declare its bounds
Adobe Illustrator artwork.aiIllustrator's editable artwork formatThe extension alone does not prove that the bytes are ordinary PostScript
PDF.pdfA structured, page-oriented documentRelated imaging concepts, but not a PostScript program

An EPS file is a constrained kind of PostScript program, not a separate imaging language. A normal .ps print job may select paper trays, change device settings, or emit many pages, while an EPS graphic is designed to be imported without taking control of the surrounding job.2

Adobe Illustrator currently opens and places EPS and PS files and can save Illustrator EPS, but it lists .ai separately as Adobe Illustrator artwork.4 Renaming between these extensions does not convert a file. Inspect the header or use software that recognizes the actual format.

How do you open an application/postscript file?

Current general-purpose browsers do not provide a native PostScript renderer. They normally download an application/postscript response or hand it to an application chosen by the operating system. Use a maintained PostScript-aware tool instead:

  • Ghostscript interprets PostScript, EPS, and PDF. Its command-line tools can display a file, rasterize pages, or convert PostScript to PDF.6
  • Adobe Illustrator opens or places PS and EPS artwork, and it can save Illustrator EPS.4
  • A PostScript printer or prepress workflow may accept a .ps job directly, provided the job's LanguageLevel, fonts, colors, and device requests are compatible.

For a convenient PDF conversion with Ghostscript:

ps2pdf input.ps output.pdf

For an EPS preview rendered to PNG at 300 dpi:

gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=png16m -r300 \
  -sOutputFile=preview.png artwork.eps

Ghostscript documents both workflows and enables its SAFER access controls by default in current releases.6 Keep the software updated, do not disable its safety mode for an untrusted input, and run conversions with operating-system sandboxing and resource limits when the source is not trusted.

Support in Poly

Poly recognizes the .ps extension as application/postscript and maps the MIME type to its archive category. It can store, sync, share, version, download, and find the outer file by name.

Poly currently treats the PostScript program as opaque:

  • It does not run a PostScript interpreter or validate DSC comments.
  • It does not extract document text, fonts, colors, pages, or embedded resources.
  • It does not generate page thumbnails or provide an in-app PostScript viewer.
  • It does not make the program or rendered pages available to the Poly agent.

The archive category is an internal processing choice. A PostScript document is not necessarily a member archive like ZIP. Poly's extension mapper recognizes .ps, but not .eps, .epsf, or .ai, as application/postscript. A file uploaded with an explicit application/postscript MIME value is still recognized by that identifier, but there is no format-specific rendering or indexing pipeline.

If you need searchable content or an in-app preview, convert a trusted source to PDF and upload the PDF separately. Poly can then render and index the PDF through its page pipeline. Keep the original PostScript file when it is the authoritative print job or preserves production settings that the conversion may not carry forward.

Converting PostScript to a modern format

Choose the output based on what needs to survive:

  • PDF is the usual destination for a multi-page document, print proof, or portable review copy. Check page boxes, embedded fonts, overprint, spot colors, transparency flattening, and separations after conversion.
  • SVG can be useful for editable vector artwork on the web, but not every PostScript painting operation, font, clipping path, or color-space behavior maps cleanly.
  • PNG or TIFF gives a predictable raster image. Choose the output resolution and color space explicitly because rasterization discards resolution-independent paths and text.
  • EPS can isolate a single illustration for an older placement workflow, but it is usually a poor modernization target. It keeps the executable PostScript model and does not gain PDF's document structure.

Conversion is rendering, not renaming. A PostScript interpreter may substitute missing fonts, apply a default page size, use a different color-rendering setup, or reject device-specific operators. Compare the result visually and, for production printing, run the output through the same preflight and proofing process as any other converted job.

Security and interoperability risks

RFC 2046 warns that executing a general-purpose PostScript interpreter creates serious security risks. A program may attempt file operations, enumerate filenames, modify interpreter or device state, load implementation-specific extensions, consume excessive resources, or loop indefinitely.15 The registration recommends disabling dangerous operations outside the language's control and limiting time and resource consumption.

Treat an unexpected .ps or .eps attachment as executable input. Do not send it directly to an unrestricted interpreter or network printer. Convert it in a maintained, isolated tool with file access, memory, CPU time, and output size constrained.

Even a benign file can render differently across environments. Common causes include:

  • A required font is missing and gets substituted.
  • The program assumes a particular printer feature, paper size, resolution, or halftone.
  • An EPS file violates the EPS rules or has a wrong bounding box.
  • The receiving interpreter supports a lower LanguageLevel or lacks a vendor extension.
  • Binary sections or line-ending changes are damaged during transfer.

DSC comments help document processors identify pages and resources without executing the whole program, but the comments are conventions rather than a security boundary. Preserve the original bytes, record the interpreter and settings used for conversion, and proof the rendered result before relying on it for archival or production output.

Footnotes

  1. Internet Assigned Numbers Authority. application/postscript Media Type Registration. The registration identifies the media type as a PostScript program, recommends DSC, and details interpreter security risks. 2 3
  2. Adobe Systems Incorporated. PostScript Language Reference, Third Edition. The language reference documents PostScript execution, LanguageLevels, binary encodings, DSC headers, regular page descriptions, and EPS restrictions. 2 3 4 5 6
  3. Library of Congress. PostScript Format Family. The format description covers the 1984 to 1985 introduction, LaserWriter adoption, DSC identification, .ps and EPS relationships, versions, and PostScript's replacement by PDF for document exchange. 2 3 4 5
  4. Adobe. Supported File Formats in Adobe Illustrator. Adobe lists Illustrator artwork separately from Encapsulated PostScript and documents current open, place, and save support. 2 3
  5. Internet Engineering Task Force. RFC 2046, Section 4.5.2: PostScript Subtype. The November 1996 standard defines the MIME subtype and its DSC, compatibility, transfer, and security considerations. 2
  6. Artifex Software. Using Ghostscript. The current documentation covers PostScript and EPS interpretation, PDF and raster conversion, output devices, and SAFER access controls. 2 3
© Poly Corp. 2026