Initializing... drag & drop files here
Supports: HEIF
HEIF is the ISO/IEC 23008-12 image container that iPhones, iPads and recent Android phones write when "High Efficiency" capture is switched on. EPS is Encapsulated PostScript — the page-description format that print shops, sign makers, embroidery digitisers and older desktop-publishing suites still ask for when they say "send it as EPS". This page bridges the two: it decodes the HEIF and wraps the pixels in an EPS that Illustrator, InDesign, QuarkXPress, CorelDRAW and any PostScript RIP will place without complaint.
One thing to be clear about before you start, because it is the single most common misunderstanding: an EPS made from a photo is still a photo. EPS is capable of holding vector artwork, but nothing here traces your image into paths. What you get is the same grid of pixels, wrapped in PostScript.
.heif onto the page or click "+ Add Files". Several files can be queued and converted with the same settings, and each one comes back as its own .eps..eps. Files are uploaded over an encrypted connection, processed on our servers, and deleted automatically after a few hours — no sign-up, no watermark.The converter hands the decoded HEIF to ImageMagick with the output density pinned at 72 DPI, which is what makes the PostScript point grid line up exactly with the pixel grid. The file it writes is deliberately conservative — the oldest, most widely accepted flavour of EPS there is.
| Property of the output | Value | Why it is that way |
|---|---|---|
| PostScript level | Level 1 (%%LanguageLevel: 1) |
The most broadly accepted level; nothing in a photo needs Level 2 or 3 |
| Image data encoding | ASCII hexadecimal (%%DocumentData: Clean7Bit) |
Survives 7-bit-only transports; costs two characters per byte |
| Compression | None | Level 1 EPS has no lossy option, so nothing is thrown away |
| Bounding box | %%BoundingBox: 0 0 W H, in points |
1 pixel becomes 1 point, so a 640-pixel-wide image places at 640 pt |
| Effective resolution | Fixed 72 DPI | There is no DPI control on this page |
| Pages | 1 | A single EPS, never a multi-page PostScript file |
| Transparency | Flattened to white | Level 1 has no alpha channel |
Uncompressed ASCII-hex costs roughly six bytes per pixel — one byte becomes two hex characters, times three colour channels, plus line breaks. We measured a 640 × 480 HEIF that occupied 5,466 bytes on disk: the EPS came back at 1,872,524 bytes, or 6.095 bytes per pixel. That is a 342-fold increase, and it is not a defect — it is the arithmetic of storing HEVC-compressed pixels as plain hexadecimal text.
Because the cost scales with pixel count, the Resolution Percentage slider is a genuinely powerful lever. The same image at 50% came back at 472,404 bytes: half the width and half the height is a quarter of the pixels, and very nearly a quarter of the file.
| What you need | Setting | Result for the 640 × 480 sample |
|---|---|---|
| Faithful placement at native size | Keep original | 1,872,524 bytes, 640 × 480 pt box |
| Half-size placement, quarter the bytes | Resolution Percentage 50 | 472,404 bytes, 320 × 240 pt box |
| A photo you only need to proof | Resolution Percentage 25–40 | Roughly a sixteenth to a ninth of the bytes |
| Something you will edit as artwork | EPS is the wrong target | Nothing here converts pixels into paths |
No, and no online converter can. Vectorising a photograph means tracing it into filled paths, which throws away the photographic detail and produces a posterised approximation. This tool embeds the pixels unchanged inside a PostScript wrapper. If tracing is genuinely what you want, that is a different operation with a different name, and it is only useful on flat logos and line art — not on a phone photo.
Because HEIF stores the picture as an HEVC-compressed bitstream and EPS Level 1 stores it as uncompressed hexadecimal text. Every pixel becomes six ASCII characters. Our 5,466-byte sample produced a 1,872,524-byte EPS — 6.095 bytes per pixel. Nothing in the pipeline is padding the file; that is simply what the format costs.
It is filled with white. PostScript Level 1 has no alpha channel, so the transparency has to resolve to something before the pixels are written. We verified this on a HEIF whose corner pixel read srgba(0,0,0,0): in the EPS that same corner is opaque white, and it stays white even when the EPS is composited over a coloured background. If you need the transparency preserved, convert to PNG instead.
72 DPI as declared, because the bounding box is written in points at one point per pixel. There is no DPI control on this page. Printers generally do not care about that number — what matters is the size you scale the placed image to in your layout. A 4000-pixel-wide photo placed at 10 inches wide prints at 400 DPI regardless of what the EPS header says.
No. A HEIF holding several images is read at index 0 only, so the EPS contains one picture — the first item in the file. This is deliberate: multi-frame inputs would otherwise write a series of numbered files instead of the single .eps the page promises.
There is nothing to pick. On this page the only control that renders is Image resolution; no quality preset, colour palette, bit depth or DPI selector appears, because EPS Level 1 has no lossy mode for them to drive. The pixels that come out of the HEIF decoder are the pixels that go into the PostScript.
It should. The output declares itself as %!PS-Adobe-3.0 EPSF-3.0 with a Level 1 body and a valid %%BoundingBox, which is the most conservative combination EPS offers — the exact profile intended for maximum interpreter compatibility. What some shops will object to is the content: an RGB photo where they expected CMYK line art. Ask what colour space they need before you send it.
Ask why EPS was requested. If it is because a workflow tool only accepts EPS, this conversion is the right answer. If it is because someone said "vector", EPS will not deliver that. If the goal is simply a high-quality print-ready raster, HEIF to TIFF gives you the same pixels with real compression and a fraction of the bytes, and most modern RIPs prefer it.
Yes — EPS to PNG renders a PostScript file back to pixels. Note that a round trip through this page and back is not free of change: the EPS carries no alpha, so a transparent original returns with a white background.