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 |
Need to optimize your PNGs?
After converting, compress your PNGs instantly in the browser — free, no upload needed.
Try it yourself
Convert between any image format instantly — free, instant, no signup. Your images never leave your browser.
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:
-sDEVICE=png16m— 24-bit RGB PNG output. Usepngalphainstead for transparent backgrounds.-r300— render at 300 DPI. Use72for screen,300for print,600for high-quality print.-dNOPAUSE -dBATCH— non-interactive mode (no prompts between pages).
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
- Open the EPS file in Inkscape (
File → Open). - Inkscape converts the EPS to SVG internally — you'll see editable vector objects.
File → Export PNG Image(Shift+Ctrl+E).- Choose export area: Page (full canvas) or Drawing (content only, trimmed).
- Set DPI: 96 for screen, 300 for print.
- 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
- Open GIMP.
File → Openand select your EPS file. - 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.
- Click Import. The EPS renders as a raster layer.
- Make any adjustments (crop, levels, color correction).
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:
- Ghostscript with
pngalphadevice preserves transparent areas. Thepng16mdevice fills transparency with white. - ImageMagick with
-background nonepreserves transparency. Without it, you get a white background. - Inkscape preserves transparency by default. The export dialog shows a checkerboard where the background is transparent.
- GIMP preserves transparency if you flatten carefully — check
Image → Flatten Imageisn't merging everything onto a white layer. Export with PNG to keep the alpha channel.
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.
Try it yourself
Ready to convert formats? Drop your image and get results in seconds — free, instant, no signup. Your images never leave your browser.