PerfectVector
By Irene Kim

EPS Bounding Box: Fix Cropped Artwork and Extra Space

Diagnose cropped EPS artwork and excess margins by checking declared bounds against painted marks, then re-export and verify the actual receiving result.

9 min read
On this page

If an EPS loses part of a logo or arrives with excessive space, compare its declared bounding box with the artwork it actually paints. A receiving workflow that uses a too-small box can clip existing marks; an oversized box can leave unwanted margins. Re-exporting from the editable master is usually the clearest repair. Enlarging a declaration cannot restore artwork that was never saved or remains excluded by a clipping path.

Start with the original EPS, a complete visual reference, and the receiving application's requirements. Preserve the original and test a separately named replacement so you can compare the actual delivery.

Read the four coordinates correctly

An EPS bounding box describes the rectangle enclosing its painted marks. In this header:

%%BoundingBox: 20 15 101 66

20 15 is the lower-left corner and 101 66 is the upper-right corner. The width is 101 − 20 = 81 points and the height is 66 − 15 = 51 points. The final two numbers are coordinates, not width and height. A nonzero lower-left corner is valid.

Adobe's EPSF 3.0 specification defines the box around painted marks, including stroke extent and line joins. A path's centerline alone may therefore underestimate the required bounds. Adobe's DSC 3.0 specification requires integer arguments for %%BoundingBox.

Conceptual leaf artwork with a narrow gold frame missing its tip and a larger teal frame containing extra space
Conceptual illustration: the artwork and its declared frame are separate. These outlines are not measured EPS bounds, an actual render, or an import dialog.

Match the symptom to the next check

SymptomPossible causeUseful check
A sharp rectangular edge cuts through a markThe declared crop or a receiving frame is too smallCompare the declaration, saved paint extent, and receiving crop settings
The complete mark sits inside large marginsOversized declared bounds or extra painted contentInspect the full source and the actual placement rectangle
A stroke is shaved off at an otherwise correct edgeBounds may omit the painted stroke extentRecalculate from the complete appearance in the source application
A thumbnail differs from the placed resultPreview and rendered artwork may be different representationsCompare a fresh render and the actual destination result
A larger declaration still leaves missing artworkMissing paint data or an applied clipping pathReturn to the complete editable master and inspect the drawing itself

A white margin also needs a separate background check. It may be empty surrounding space, an actual white object, or rasterized content. The EPS background diagnosis covers that distinction; changing bounds does not establish transparency.

Same paint, four different bounding declarations

We authored four EPS files with a byte-identical paint program: a teal rectangle, a dark triangle with a white circular detail, and an orange bar near the right edge. Reopening the saved paint commands established the same outer painted bounds in every file:

lower-left:  (20.25, 15.5)
upper-right: (100.75, 65.25)

Only the bounding comments changed. All four headers declared PostScript LanguageLevel 2. Ghostscript 10.08.0 rendered the actual saved files using png16m, -dEPSCrop, and 288 dpi, giving four pixels per point in this study.

DeclarationActual PNG dimensionsObserved result
%%BoundingBox: 20 15 101 66324 × 204Complete mark with small integer-rounding margins
%%BoundingBox: 20 15 60 66160 × 204Right side of triangle clipped; orange bar outside the render
%%BoundingBox: 0 0 120 80480 × 320Complete mark with substantial white padding
Same enclosing integer box plus fractional HiRes bounds322 × 199Complete mark without the integer-rounding margins in this renderer

For the final row, the extra comment was:

%%HiResBoundingBox: 20.25 15.5 100.75 65.25

Here, HiResBoundingBox supplies fractional bounds. The observed crop followed those values in this Ghostscript run. That is not a promise that every EPS importer gives the comment the same priority. We do not attribute this extension to the DSC 3.0 specification.

The 324 × 204 and 322 × 199 outputs represent different crop dimensions, not differently scaled artwork. The declared 81 × 51 point integer rectangle encloses an 80.5 × 49.75 point painted rectangle. Its rounding margin is expected in this controlled file.

Pixel checks found the orange bar in the complete renders; its known position was outside the too-small render. A separate Ghostscript bbox pass without EPS crop reported the same painted bounds for all four files, agreeing with the serialized enclosing rectangle. That confirms this example's fault: the cropped render lost visibility while the saved painting commands remained present.

The undersized and oversized declarations are deliberately incorrect controls. The study tests one renderer and simple filled geometry, with no application-import, EPS-preview, physical-print, or PerfectVector conversion result implied.

Diagnose, repair, and verify a replacement

1. Separate the declaration from the drawing

Compare the complete reference with the file's actual rendered content. If you can inspect a plain-text EPS header, read both bounding declarations when present. Do not assume an arbitrary file's marks can be measured by searching for coordinate numbers: real PostScript can use transformations, procedures, text, images, and clipping.

For a technical render check with Ghostscript installed, our tested command pattern is:

gs -dSAFER -dBATCH -dNOPAUSE \
  -sDEVICE=png16m -r288 -dEPSCrop \
  -sOutputFile=eps-check.png artwork.eps

This writes an inspection PNG; it does not repair or replace the EPS. Ghostscript's usage documentation describes -dEPSCrop as cropping EPS to its bounding box.

If a separate mark-extent measurement is needed, distinguish it from that cropped render. The bbox device documentation explains that its result depends on raster resolution and rounding, and excludes white objects by default. A measured nonwhite extent is therefore not automatically a complete production bounding box, especially for intentional white artwork.

2. Repair the cause in the editable master

If the bounds exclude existing artwork, re-export the intended complete artwork with an enclosing box. Include the visible stroke extent. If the margins are excessive, inspect whether stray or intentionally painted objects extend the actual content before changing the export region.

Use the source application's documented EPS save controls and confirm the intended artboard or range. Adobe's Illustrator save guide documents EPS saving, artboard selection, and a separate preview-image option. These are documented controls; our study did not perform an Illustrator export or establish its import behavior.

If the missing content is absent from the saved drawing or excluded by a clipping path, correct that source problem and export again. Changing a comment supplies neither missing path commands nor a different clipping operation. If the master is unavailable, request a complete source or a corrected export rather than accepting an enlarged empty frame.

3. Check the exact file the recipient will use

Render the replacement and compare the complete silhouette, fine stroke ends, internal white details, and intentional margins against the reference. Confirm dimensions from the coordinate differences. Then place or import that same replacement in the actual receiving workflow and inspect its crop and scale.

If the render is complete but placement still cuts the artwork, investigate the destination's frame, import settings, and file handling. If both remain incomplete, revisit source content and clipping. Keep the replacement separate until both the content and the receiving result meet the requirement.

A successful bounds check says nothing about whether the file contains editable paths or an embedded bitmap. Use the EPS structure inspection guide for that task. An SVG bounding box is a different system; its DOM measurements are not a substitute for interpreting EPS comments and paint.

What this looks like with PerfectVector

If only a complete flat raster logo remains and an opaque EPS background fits the job, rebuild its visible shapes with PerfectVector's image-to-EPS workflow. Compare the reconstructed silhouette, lettering, and openings with the reference, then inspect the complete exported EPS and its dimensions in the receiving workflow.

The current output uses flat filled paths with an opaque white or black background. This prepares a new artwork candidate; it does not repair an arbitrary EPS header, restore unseen missing artwork, or certify the recipient's crop. If an editable vector master already exists, correct and re-export that master instead.

FAQ

Does an EPS bounding box have to start at zero?

No. The lower-left coordinate can be nonzero. Width and height come from upper minus lower coordinates. Our enclosing integer box starts at (20, 15) and describes an 81 × 51 point rectangle without moving the paint commands.

Can a larger BoundingBox bring back cropped artwork?

It can change the visible region when the paint is still present and the receiving workflow uses that declaration. It cannot recreate absent drawing commands or undo a clipping path. Correct and re-export from the complete master, then verify the actual destination.

Will HiResBoundingBox always remove extra margins?

No universal behavior is established here. Ghostscript 10.08.0 followed the fractional bounds in our controlled run, producing 322 × 199 pixels instead of the enclosing integer box's 324 × 204. Confirm the behavior of the actual importer and preserve a valid enclosing integer declaration.

Sources

  1. Adobe — EPSF 3.0 Specification — Defines lower-left and upper-right bounds around painted marks, including stroke extent and joins.
  2. Adobe — DSC 3.0 Specification — Defines the integer coordinate arguments of the BoundingBox comment.
  3. Ghostscript — EPS parameters — Documents EPSCrop and related EPS processing controls.
  4. Ghostscript — Bounding box output — Documents bbox measurement, white-object treatment, and resolution/rounding limits.
  5. Adobe — Save artwork — Documents EPS export, artboard selection, and the distinct preview-image option.

Starting from a complete raster logo and accepting an opaque background? Create an EPS candidate from your image, compare its paths with the reference, then verify the entire exported artwork, dimensions, and crop in the recipient's workflow.

More from the blog

PerfectVector

Turn your image file into an
editable SVG

No credit card required