← All articles 9 min read

Convert EPS to PNG: 4 Free Methods for Any Platform

EPS (Encapsulated PostScript) is a vector format from the print and graphic design world. It stores illustrations, logos, and layouts as mathematical descriptions of paths and curves — resolution-independent and precise. Adobe Illustrator, CorelDRAW, and professional print shops use EPS heavily.

The problem: most of the modern world doesn't speak EPS. Web browsers can't display it. Email clients ignore it. Social media platforms reject it. If you need your EPS artwork on a website, in a slide deck, or in a Slack message, you need to convert it to a raster format like PNG. PNG is the right target when you need transparency support or crisp edges on text and line art. If you don't need transparency, JPG may be the better choice — and you can follow our EPS to JPG guide for that route.

Here are four free methods to convert EPS to PNG, from command-line tools to a full GUI.

Methods Overview

Method OS Batch License Best For
Ghostscript 10.02 Linux, macOS, Windows Yes AGPL v3 Most reliable EPS rendering
ImageMagick 7.1 Linux, macOS, Windows Yes Apache 2.0 Simple syntax, scriptable
Inkscape 1.3 Linux, macOS, Windows Yes (CLI) GPL v2+ Vector-aware, preserves curves
GIMP 2.10 Linux, macOS, Windows No GPL v3 GUI users, manual adjustments

Method 1: Ghostscript 10.02 (Most Reliable EPS Rendering)

Ghostscript is the gold standard for interpreting PostScript. It reads EPS files natively — no delegates, no wrappers — because EPS is PostScript. Every other tool on this list either uses Ghostscript under the hood or reimplements a subset of what it does.

License: AGPL v3

Install

# Ubuntu / Debian
sudo apt install ghostscript

# macOS (Homebrew)
brew install ghostscript

# Windows (Chocolatey)
choco install ghostscript --version=10.02.1

Convert a Single File

gs -dNOPAUSE -dBATCH -sDEVICE=png16m -r300 -sOutputFile=output.png input.eps

Key flags:

Transparent Background

gs -dNOPAUSE -dBATCH -sDEVICE=pngalpha -r300 -sOutputFile=output.png input.eps

The pngalpha device renders with a transparent background instead of white. This is essential for logos and icons that need to overlay other content.

Batch Convert

for f in *.eps; do
    gs -dNOPAUSE -dBATCH -sDEVICE=pngalpha -r300 \
       -sOutputFile="${f%.eps}.png" "$f"
done

Set Output Dimensions

Ghostscript doesn't have a direct "width x height" flag. Control output size through DPI:

# Calculate DPI: if your EPS is 5×5 inches and you want a 2000×2000 PNG
# DPI = 2000 / 5 = 400
gs -dNOPAUSE -dBATCH -sDEVICE=pngalpha -r400 -sOutputFile=output.png input.eps

Method 2: ImageMagick 7.1 (Simple Syntax, Uses Ghostscript)

ImageMagick wraps Ghostscript as a delegate for EPS rendering and adds a friendlier command-line interface. You get ImageMagick's powerful resize, crop, and compositing options on top of Ghostscript's PostScript interpreter.

License: Apache 2.0 (ImageMagick itself). Requires Ghostscript (AGPL v3) installed separately as a delegate.

Prerequisite: Ghostscript must be installed. Without it, ImageMagick cannot read EPS files.

Install

# Ubuntu / Debian
sudo apt install imagemagick ghostscript

# macOS (Homebrew)
brew install imagemagick ghostscript

# Windows (Chocolatey)
choco install imagemagick --version=7.1.1.29
choco install ghostscript --version=10.02.1

Convert a Single File

magick -density 300 input.eps output.png

The -density flag sets the rasterization DPI before rendering. This is critical — setting density after the input file has no effect on EPS rasterization quality.

Transparent Background

magick -density 300 -background none input.eps output.png

Resize After Conversion

magick -density 300 input.eps -resize 2000x2000 output.png

Render at 300 DPI first, then resize. This produces sharper results than rendering at low DPI and upscaling.

Batch Convert

magick mogrify -density 300 -format png -path ./png-output *.eps

This converts all EPS files and writes PNGs to the png-output directory. The -path flag keeps your originals untouched.

ImageMagick Security Policy

ImageMagick 7.x ships with a security policy (/etc/ImageMagick-7/policy.xml) that may block EPS processing. If you get a "not authorized" error:

# Check current policy
magick identify -list policy

# Edit the policy file — find the EPS/PS line and change rights to "read|write"
sudo sed -i 's/rights="none" pattern="EPS"/rights="read|write" pattern="EPS"/' \
    /etc/ImageMagick-7/policy.xml

Method 3: Inkscape 1.3 (Vector-Aware Conversion)

Inkscape doesn't just rasterize the EPS — it imports it as editable vector data. This means you can tweak paths, recolor elements, or crop before exporting. Inkscape also handles complex EPS files with gradients, clipping paths, and embedded fonts better than raw Ghostscript in some cases.

License: GPL v2+

Install

# Ubuntu / Debian
sudo apt install inkscape

# macOS (Homebrew)
brew install --cask inkscape

# Windows (Chocolatey)
choco install inkscape --version=1.3.2

GUI Export

  1. Open the EPS file in Inkscape (File → Open).
  2. Inkscape converts the EPS to SVG internally — you'll see editable vector objects.
  3. File → Export PNG Image (Shift+Ctrl+E).
  4. Choose export area: Page (full canvas) or Drawing (content only, trimmed).
  5. Set DPI: 96 for screen, 300 for print.
  6. Click Export.

Command-Line Export

# Single file at 300 DPI
inkscape input.eps --export-type=png --export-dpi=300 --export-filename=output.png

# Specific pixel dimensions
inkscape input.eps --export-type=png --export-width=2000 --export-height=2000 \
    --export-filename=output.png

# Export drawing area only (trim whitespace)
inkscape input.eps --export-type=png --export-dpi=300 --export-area-drawing \
    --export-filename=output.png

Batch Convert

for f in *.eps; do
    inkscape "$f" --export-type=png --export-dpi=300 \
        --export-filename="${f%.eps}.png"
done

Trade-off: Inkscape is slower than Ghostscript or ImageMagick for batch jobs because it loads its full vector engine for each file. For 100+ files, Ghostscript is significantly faster. For 5-10 files where you need vector-aware rendering, Inkscape is the better choice.

Method 4: GIMP 2.10 (GUI Option)

GIMP imports EPS files through its Ghostscript integration, giving you a visual rasterization workflow. Best for one-off conversions where you want to inspect and adjust the image before saving.

License: GPL v3

Prerequisite: Ghostscript must be installed. GIMP uses it to interpret the PostScript data in EPS files.

Steps

  1. Open GIMP. File → Open and select your EPS file.
  2. An Import from PostScript dialog appears:
    • Resolution: Set DPI (300 recommended for print, 150 for web).
    • Width/Height: Pixel dimensions auto-calculate from DPI and the EPS bounding box.
    • Antialiasing: Check this box for smooth edges.
    • Coloring: keep as Color unless you need grayscale.
  3. Click Import. The EPS renders as a raster layer.
  4. Make any adjustments (crop, levels, color correction).
  5. File → Export As → choose PNG format → click Export.

DPI and Resolution Settings

The import dialog is your only chance to set rasterization quality. If you import at 72 DPI and realize you needed 300, you must re-import — upscaling the already-rasterized image will produce blurry results.

Use Case DPI Typical Output Size
Screen / web 96-150 Depends on EPS dimensions
Print (standard) 300 8.5"×11" EPS → 2550×3300 px
Print (high quality) 600 8.5"×11" EPS → 5100×6600 px

GIMP Batch Processing

GIMP supports batch processing through Script-Fu, but it's cumbersome compared to command-line tools. If you need batch conversion, use Ghostscript or ImageMagick instead.

EPS vs PNG: When to Use Each

EPS and PNG solve different problems. Understanding the distinction helps you decide when conversion is necessary — and when you should keep the EPS.

EPS PNG
Type Vector (PostScript) Raster (pixels)
Scalability Infinite — scales to any size without quality loss Fixed — scaling up degrades quality
File size Small for illustrations, large for embedded rasters Depends on dimensions and complexity
Transparency Supported (but inconsistently across viewers) Full alpha channel transparency
Web support None — browsers cannot render EPS Universal
Edit with Illustrator, CorelDRAW, Inkscape Photoshop, GIMP, any image editor
Best for Print production, professional design handoff Web display, email, social media, presentations

Keep the EPS when you're working with a print shop, sending files to a designer, or archiving artwork at maximum quality. Convert to PNG when the image needs to appear on screen — websites, apps, slide decks, documents, or social media.

For a broader look at choosing the right image format for web use, see our JPG vs PNG comparison and how to reduce image file size guide.

Transparency Handling

EPS files can contain transparent regions, but transparency in PostScript is complicated — different EPS generators handle it differently, and not all viewers respect it. PNG, on the other hand, has clean, universal alpha channel transparency.

When converting EPS to PNG:

If your EPS has a transparent background and you convert to JPG instead of PNG, the transparency becomes white (or black, depending on the tool). PNG is the right format when transparency matters. See our SVG to PNG guide for similar vector-to-raster transparency handling.

Frequently Asked Questions

Why can't I just open an EPS file in a browser?

Browsers render HTML, CSS, SVG, and raster images (PNG, JPG, WebP, GIF). EPS is a PostScript program — a page description language from 1987 that requires a PostScript interpreter to execute. No browser includes one. You need to convert EPS to a web-friendly format like PNG first.

Does converting EPS to PNG lose quality?

EPS stores vector data (paths, curves, text) that is resolution-independent. Converting to PNG locks it to a specific pixel grid. If you rasterize at a high enough DPI (300+ for print, 150+ for web), the quality loss is imperceptible. The key is to choose the right DPI before conversion — you cannot recover vector sharpness by upscaling a low-DPI PNG.

What DPI should I use?

For web and screen display, 96-150 DPI is sufficient. For standard print, 300 DPI is the industry baseline. For large-format or high-quality print, use 600 DPI. Higher DPI means larger file sizes — a 300 DPI render of an 8.5×11" EPS produces a 2550×3300 pixel PNG. After conversion, you can compress the PNG to reduce file size without visible quality loss.

Can I convert PNG back to EPS?

Technically yes, but the result is fundamentally different from the original. Wrapping a PNG inside an EPS container gives you a raster image in a vector envelope — it won't scale cleanly. True vectorization requires tracing the raster image with tools like Inkscape's Trace Bitmap or Adobe Illustrator's Image Trace, and the output is always an approximation.

Which method is fastest for batch conversion?

Ghostscript, by a significant margin. It interprets PostScript natively without loading a full graphics application. For 100+ files, Ghostscript finishes in seconds per file. ImageMagick is close behind (it calls Ghostscript internally). Inkscape is the slowest because it loads its complete vector engine for each file.

Do I need Ghostscript installed for every method?

Ghostscript is required for Methods 1 (directly), 2 (as ImageMagick's delegate), and 4 (as GIMP's PostScript importer). Only Inkscape (Method 3) can convert EPS files without Ghostscript — it uses its own PostScript import engine. If you install Ghostscript first, all four methods will work.

Is there a size limit for EPS to PNG conversion?

The main constraint is available RAM. A 600 DPI render of a large EPS (say, a 24×36" poster) produces a 14400×21600 pixel image — roughly 900 MB of uncompressed pixel data. Ghostscript and ImageMagick handle this fine on machines with 4+ GB of RAM. For extremely large renders, process in tiles or reduce DPI.

How do I convert EPS to PNG online?

Several online converters exist, but they require uploading your file to a third-party server — a concern for proprietary artwork. The command-line methods above keep everything local. If you already have your PNG and need to optimize it for web use, Pixotter processes everything in your browser with no upload.

Next Steps

Once your EPS files are converted to PNG, you'll likely want to optimize them for their target platform. Large PNGs from high-DPI renders can be several megabytes — too heavy for web pages. Run them through Pixotter's compression tool to reduce file size without visible quality loss, or convert to another format if your use case is better served by WebP or JPG.