What Is a PS File? A Print Job That Was Saved Instead of Printed
PS files hold PostScript, in plain text. Jump to your question below, or work through it in order.
PS files hold PostScript, in plain text. Jump to your question below, or work through it in order.
A PS file is a print job that somebody saved instead of printing. It holds instructions in PostScript, the language Adobe released in 1984 so that computers and printers could agree on how pages look.
PostScript is plain text. Any editor shows you the contents, which is the fastest proof that your copy arrived intact.
Nothing on a normal computer opens PS files by double-click, and that has nothing to do with your copy. Run ps2pdf and read the PDF.
PostScript describes a page: where text sits, what shape the curves take, which font goes where. A PS file is one of those descriptions. Adobe Systems released it in 1984 as a general-purpose page description language. Its job is to turn text and graphics into printed pages, on any output device.
Adobe built it so one description would come out the same on laser printers, typesetters and screens, whoever made them.
It was written to disk rather than sent down a cable. Your PS was heading for a printer and somebody redirected it, usually by ticking Print to file.
That explains the two things people find strange about PS files. There is no viewer because it was never meant to be viewed, and it is large for what it draws because it carries its own fonts.
Directories file PostScript under vector images. It is a programming language with loops and conditionals in it, and what you need is an interpreter rather than a viewer.
.ps, with .eps and .ai in the family%!, usually %!PS-Adobe-3.0application/postscriptx-fmt/406, versioned by DSC levelWrong page? The EPS file format is the same language cut down to one figure. The PDF file format is what PostScript became once the programming was taken out.
Four things write PS files, and the first one accounts for most of them: a Print to file box that stayed ticked while a PostScript printer was selected.
PS files are a by-product. No program has Save as PostScript in its main menu any more, so if a PS file turned up, something produced it on the way to somewhere else.
| Source | What happened |
|---|---|
| Print to file | A PostScript printer was selected and output went to disk |
| LaTeX | dvips turns a typeset document into a PS file on its way to a PDF |
| Older design applications | Export for print, when the print shop asked for PostScript |
| Acrobat Distiller | PostScript is what Distiller takes in, not what it writes out |
| Scientific plotting | gnuplot, R and MATLAB all wrote PostScript for years |
| An archive | Papers and drawings from the 1990s were kept as PostScript files on purpose |
The Print to file case is worth spotting, because the fix is upstream. Print that document again with the destination set to a PDF writer and you will not need any of this.
The LaTeX case is different, and on purpose. For years the route from a .tex source to a printable page ran through dvips and PostScript. Plenty of academic work from that era exists as .ps and nothing else.
A file named .prn is often the same thing. Windows uses that extension when you print to file without naming the output, and its contents depend on the driver. Open it in a text editor: if it starts %!, it is PostScript and everything on this page applies.
Got a .plt instead? PLT files come out of the same Print to file box with a plotter driver selected, and plenty of them hold PostScript under that name.
Ghostscript is how you open PS files on every system, and it costs nothing. Apple Preview is not the answer any more, whatever the directories still say.
How to open a PS file depends on one thing: opening it means running it. Whatever you point at it has to run the PostScript and record every mark it makes. That is why so few programs manage one, and why they all take a moment to start.
Any text editor will open a PS file. You can open one that way to check it, but drawing the page needs an interpreter.
| Software | Runs on | Why choose it |
|---|---|---|
| Ghostscript | Windows, Mac, Linux | The interpreter everything else uses. Brings ps2pdf with it |
| Any text editor | Everything | Proves your file is intact and shows the page count |
| Evince | Linux | Ships with GNOME and opens one by double-click |
| Okular | Windows, Linux | The KDE reader, and it handles PostScript the same way |
| GSView | Windows | A front end for Ghostscript, for reading rather than converting |
| ImageMagick | Windows, Mac, Linux | Converts to PNG, with Ghostscript doing the work underneath |
| Adobe Acrobat | Windows, Mac | Paid. Opens one by converting it, which you can do free |
| Adobe Illustrator | Windows, Mac | Paid, and worth it only if you mean to edit the artwork |
Run ps2pdf. One line, then open the PDF you already know how to open.
Double-click your PS. Evince is probably already installed and handles it.
Apple Preview stopped opening PostScript in macOS Ventura, October 2022. The directory page that ranks first for this question was updated in October 2025 and still tells Mac users to use it. Install Ghostscript instead. Encapsulated PostScript was hit by the same change.
Trouble with your computer rather than your PS? Our Windows error guides and macOS fixes cover the broken file associations behind a dead double-click.
Your computer has no PostScript interpreter. That is the answer in almost every case, and nothing is wrong with the PS you were sent.
Double-clicking a PS file on Windows opens a dialog asking what to use. Nothing is in that list, because Windows has never shipped a PostScript interpreter, in any version.
Three of those four are about software and the fourth is rare. Before you blame the PS, open it in a text editor: readable commands from top to bottom mean your bytes arrived fine.
Keep it off an online converter. A PS file is usually somebody's draft paper or unreleased layout. ps2pdf finishes the same job on your own machine in about one second. Section 5 has the command.
One command, free on every system: ps2pdf. It is the same work Acrobat Distiller was sold for, and the method is identical: run the program, write down every mark.
You can convert PS files one by one, or a folder in one pass. PostScript and PDF share an imaging model, so converting between them loses nothing. The interpreter runs your PS once, records every mark and writes them into a PDF that opens anywhere.
Install Ghostscript, then point ps2pdf at your PS file. It writes the PDF beside it and leaves the original alone:
To convert PS files in bulk, let the shell repeat it. That runs in Terminal on macOS and Linux, and in Git Bash or WSL on Windows:
| You need to | Convert to | How |
|---|---|---|
| Read it or send it | ps2pdf your PS. Keeps text selectable and vectors sharp | |
| Edit the artwork | AI or SVG | Adobe Illustrator opens a PS directly. Inkscape wants a PDF first |
| Put one page in a document | PNG | magick -density 300 document.ps page.png |
| Place it as a figure | EPS | Only if the destination asks for EPS. PDF goes in more places |
| Archive it | PDF, and keep the PS | Your PS is small, readable text and it is the original |
Nothing is lost. Same imaging model, same marks on paper.
There is no way back. Set the density high or the type goes ragged.
ps2pdf is Distiller without the price. Ghostscript's own manual calls these scripts work-alikes for nearly all of what Adobe Acrobat Distiller does. There are ps2pdf12, ps2pdf13 and ps2pdf14 variants if the system at the other end needs an older PDF level.
Comparing the destinations? The PDF format is where finished pages end up. Adobe Illustrator AI files hold artwork you still mean to change, and Photoshop PSD files keep layered edits.
Two kinds of line, and they do completely different jobs. Lines beginning %% are comments the printer ignores and the viewer depends on. Everything else is code.
Open a PS file and the first line reads something like %!PS-Adobe-3.0. In PostScript percent signs start comments, so that line is invisible to the interpreter. It is there for everything else in the chain.
Below it sit more comment lines. Every one starts with two percent signs: %%Title, %%Creator, %%Pages, %%BoundingBox, then %%Page: 1 1 before each page begins. These are the Document Structuring Conventions. They are the only reason a viewer can tell you anything about your PS without running it.
| Comment | What it says | Without it |
|---|---|---|
%!PS-Adobe-3.0 | This file follows DSC version 3.0 | Tools treat it as unstructured |
%%Pages: | How many pages there are | Nothing can count them without drawing them all |
%%Page: 1 1 | Where every page starts | You cannot jump to page 50 |
%%BoundingBox: | Corners of the drawn area | Placing it in a layout guesses the size |
%%Creator: | Which program wrote it | No way to know what made it |
%%EOF | The file ends here | No way to spot a truncated copy |
That third row is the one that surprises people. Page numbers are not an index into a PS file. They are notes somebody left in the margin, and viewers that cannot find them have to run the program from its first line every time.
The 3.0 is not PostScript Level 3. It is version 3.0 of the Document Structuring Conventions, a separate thing on its own version line. A file can say %!PS-Adobe-3.0 and use nothing newer than Level 1.
PostScript is a general-purpose programming language, and it is Turing complete. It has loops, conditionals and variables, and every awkward thing about a PS file follows from that one fact.
PostScript puts its numbers down first and names the operation afterwards. 72 720 moveto pushes 72, pushes 720, then runs moveto, which takes both off the stack. That order is called postfix. It is the same shape as Forth, and it means a PS file has to run in order, from the top.
No program can skim a PostScript file the way it skims a PDF, because what any line means depends on everything the file did before it. Four things follow from that, and none of them is a bug.
That is exactly the trade PDF made. PDF kept the imaging model, so pages come out looking the same. It dropped the programming language, so a reader can open page 50 straight away and nothing can loop. Everything people prefer about PDF is that one subtraction.
The upside is that PostScript can do things no page format can. People have written fractals, chess problems and a working ray tracer in it, and they run on the printer. That was never the point, and it is why a language this powerful was replaced in the end by one that is not.
PostScript was built to be a conversation between your computer, the print spooler and a printer. Then in 2006 the printing world decided that conversation would be in PDF instead, and PostScript moved to the last step.
A PostScript printer contains a computer whose job is to run your PS. That part is the raster image processor, or RIP, and what it does is called raster image processing. It turns instructions into the grid of dots that go on paper, whatever the output device.
For twenty years that was the entire pipeline. Your application produced PostScript, the print queue held it as PostScript, the printer ran it. Being device independent meant one file came out right on a desk laser printer and on typesetters costing a hundred times more.
The decision was announced in public, by the person who made it. Till Kamppeter runs OpenPrinting, the body that looks after printing on Linux.
"Michael Sweet and me, we decided on making the standard print job format to be PDF."Till Kamppeter, OpenPrinting, Our principal achievements
He announced it at the first OpenPrinting Summit, which he organized, in Atlanta in 2006. Michael Sweet had written CUPS, the printing system on every Mac and on most Linux machines, so between the two of them that settled it.
The work was to replace every pstoXXX filter with a pdftoXXX one. It became official when cups-filters arrived at the end of 2011, and CUPS 1.6.0 followed in July 2012. Since then, on Linux and on macOS, what travels through the queue is PDF.
PostScript did not disappear from printing. Most of the PostScript still running sits inside printers. It moved to the far end, where a PostScript printer still gets handed PS at the last moment. What changed is that your computer no longer makes it.
Send it the PS file directly. It is the one device that reads PostScript without help.
Convert first. Print the PDF. Your driver would only convert it anyway.
That is why a PS file prints perfectly and previews badly. The one machine built to run it sits at the far end, and everything between you and it has expected PDF since 2011.
Printer languages are a family. HPGL did the same job for pen plotters, in two-letter commands rather than a programming language. It is still inside every PCL printer.
Adobe Systems was founded in December 1982 to sell PostScript. The Apple LaserWriter put it in front of everybody three years later and started desktop publishing, and within twenty-five years its own successor had replaced it.
John Warnock and Chuck Geschke worked at Xerox PARC on Interpress, a page description language for Xerox laser printers. Xerox would not take it to market. So the two of them left and founded Adobe Systems in December 1982, to build something similar that anybody could use.
Warnock, Geschke, Doug Brotz, Ed Taft and Bill Paxton wrote PostScript between 1982 and 1984. Steve Jobs saw it and pushed them to aim it at laser printers.
Apple's LaserWriter was announced on 23 January 1985 and was the first printer to ship with PostScript inside it. Laser printers were new in the early 1980s. One of them, one Mac and PageMaker made a publishing house that fitted on a desk. The industry that grew out of that got its name from the furniture.
PostScript Level 2 was introduced in 1991 and PostScript 3 at the end of 1997. There has been no Level 4. Adobe had already published PDF in 1993, on the same imaging model. By the time Acrobat was free and everywhere, the argument was over.
The chain is easy to follow. PARC had Press, then Interpress. Adobe had PostScript. PostScript became PDF, and PDF became the format your printer queue uses. Every page you print still travels through a descendant of a 1970s Xerox research project.
Three extensions, one language underneath. What separates them is how much of that language every file is allowed to use.
All three describe marks on paper with the same model, which Adobe wrote once and then reused. A PS file is an entire print job, which can be a one-page note or a PostScript document of two hundred pages. An Encapsulated PostScript file is one figure, held back so it sits politely inside somebody else's page layout. PDF is what remains after the programming has been taken out.
| Behavior | PS | EPS | |
|---|---|---|---|
| Holds | A print job | One figure | A finished document |
| Pages | Many | Exactly one | Many |
| Runs as a program | Yes | Yes, with operators banned | No |
| Open one page on its own | No | Not applicable | Yes |
| Opens by double-click | Nowhere | In design software | Everywhere |
| Declares its size | In the DSC comments | In the BoundingBox | Per page |
| Last changed | 1997 | 1992 | Still revised |
| Produced today | By accident | On request | Constantly |
Read the third row and the rest follows. Banning operators gave EPS something layout programs could place without risk. Taking the language out gave PDF something any reader can open at page 50 in an instant. That is why PDF is everywhere and your PS sits in a folder you were not expecting.
PDF. It was built from PostScript for exactly that.
EPS only if asked. Otherwise a PDF goes in just as well.
EPS wins the naming fight, which hides how much PostScript survives. The registry ranks its EPS records above every PostScript record, and Illustrator above EPS. So a tool pointed at an ordinary PS may report EPS, and archive catalogs count fewer PostScript files than they hold.
Need the other two in full? EPS files are covered from the figure side, operator bans and all, and PDF files are where nearly every PS file should finish up.
Convert the folder in one pass, check two of the PDFs by eye, then leave the originals where they are. Ten minutes settles a decade of files.
Most people meet PostScript once, in old project folders or inherited drives, and want the contents without becoming an expert. That takes three steps and no decisions.
Do not make your PDF by printing the PS. Opening one in a viewer and sending it to a PDF printer runs it through two interpreters. What comes out is often a picture of the page with no selectable type left in it. ps2pdf is one step and keeps your text.
Everything above in one block: the record, what the national registry says about it and where every fact on this page was checked.
Adobe's own documents call it the PostScript page description language. Every directory files it among the vector image formats, and so does the national registry. What PostScript actually is sits in the third row below.
| Item | Value |
|---|---|
| Extension | .ps. Related: .eps and .ai |
| Stands for | PostScript |
| Kind | A general-purpose page description language, and a Turing-complete programming language |
| Developer | Adobe Systems |
| Written | 1982 to 1984 |
| Written by | John Warnock, Charles Geschke, Doug Brotz, Ed Taft and Bill Paxton |
| Language family | Concatenative and stack-based, nearest relative Forth |
| Language traits | Interpreted, stack-based, dynamically typed |
| Carries | Text, vector graphics and images, for any output device |
| Versions | Level 1 in 1984, Level 2 in 1991, PostScript 3 in late 1997. No Level 4 |
| Encoding | Plain ASCII text |
| Magic number | %!, usually %!PS-Adobe-3.0 |
| That version number | The Document Structuring Conventions level, not the PostScript level |
| Structure | Header comments, prologue, one block per page, trailer |
| Compression | None in the language. Images carried inside one may be compressed |
| Media type | application/postscript |
| Apple type identifier | com.adobe.postscript |
| Format registry | PRONOM x-fmt/406 for PostScript 2.0, versioned by DSC level: 1.0, 2.0, 2.1, 3.0 and 3.1 |
| Filed by the registry as | Image (Vector), last updated 17 June 2022 |
| Identified as | EPS fmt/124 outranks PostScript, and Illustrator has priority over EPS |
| Free interpreter | Ghostscript, bringing gs and ps2pdf |
| Supported by | Ghostscript, Illustrator, Acrobat and several viewers |
| Spool format for printing | No longer. PDF took that job in 2006 |
| Succeeded by | PDF, built on the same mathematics |
PRONOM is the registry archivists check files against. Its PostScript record is filed as Image (Vector), under the media type application/postscript. Its own note field lists three sources: fileinfo.com, docs.fileformat.com and an Adobe marketing page. A national registry wrote up PostScript from the directories, which is why its description matches theirs.
Filing it as an image suits a catalog and misleads you. Its main focus was never graphics for their own sake. PostScript describes pages for an output device. You can see what that costs you right now, because no image viewer on your computer can show you a PS without running it.
What the language is, the five names behind it and the LaserWriter date of 23 January 1985 come from Wikipedia and Adobe's own history page. Wikipedia on the Document Structuring Conventions says why nothing can count the pages without running the code.
Registry identifier, that Image (Vector) label and the June 2022 date sit on PRONOM at The National Archives. IANA holds the media type registration. The 2006 decision and the end-of-2011 date are Till Kamppeter's own account on the OpenPrinting site. The Ghostscript manual page that Debian ships carries the ps2pdf synopsis and the Distiller line.
Convert it. Section 5 has the one command you need.
It is running. Section 7 explains why that takes time.
Holding an EPS instead? The Encapsulated PostScript format is the figure version of this same language, and that page explains why three companies switched support off.
Heading for PDF? The Portable Document Format is where almost all of these should finish, and that page says what to check once yours arrives.
Came out of a plotter driver? The PLT file format and the HPGL plotter language cover the other half of the Print to file story.
Want to edit the artwork rather than view it? Illustrator AI files are where a PostScript drawing goes to be changed. CorelDRAW CDR files are the same idea in another program.
Getting an error message rather than an empty window? Our Windows error guides and our macOS fixes start from the exact wording on screen.
Never met one of these before? What a file format is explains the layer below this page. Our file format guides cover every other extension we have written up.
Got a PS file that none of this explains? Send us its first two lines and we will tell you what produced it.