> [Site index](https://perfectvector.com/llms.txt) — available pages and descriptions.

# 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.

Source: https://perfectvector.com/blog/eps-bounding-box-cropped

Language: en
Author: Irene Kim
Published: 2026-10-20T08:00:00+09:00

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:

```postscript
%%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](https://printtechnologies.org/standards/files/epsf_spec_v3_0.pdf) 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](https://web.mit.edu/PostScript/Adobe/Documents/5001.DSC_Spec.pdf) requires integer arguments for `%%BoundingBox`.

![Conceptual leaf artwork with a narrow gold frame missing its tip and a larger teal frame containing extra space](https://perfectvector.com/blog/eps-bounding-box-cropped/bounds-window.webp)

*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

| Symptom                                             | Possible cause                                                | Useful check                                                             |
| --------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------------------ |
| A sharp rectangular edge cuts through a mark        | The declared crop or a receiving frame is too small           | Compare the declaration, saved paint extent, and receiving crop settings |
| The complete mark sits inside large margins         | Oversized declared bounds or extra painted content            | Inspect the full source and the actual placement rectangle               |
| A stroke is shaved off at an otherwise correct edge | Bounds may omit the painted stroke extent                     | Recalculate from the complete appearance in the source application       |
| A thumbnail differs from the placed result          | Preview and rendered artwork may be different representations | Compare a fresh render and the actual destination result                 |
| A larger declaration still leaves missing artwork   | Missing paint data or an applied clipping path                | Return 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](https://perfectvector.com/blog/eps-transparent-background) 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:

```text
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.

| Declaration                                             | Actual PNG dimensions | Observed result                                                     |
| ------------------------------------------------------- | --------------------: | ------------------------------------------------------------------- |
| `%%BoundingBox: 20 15 101 66`                           |             324 × 204 | Complete mark with small integer-rounding margins                   |
| `%%BoundingBox: 20 15 60 66`                            |             160 × 204 | Right side of triangle clipped; orange bar outside the render       |
| `%%BoundingBox: 0 0 120 80`                             |             480 × 320 | Complete mark with substantial white padding                        |
| Same enclosing integer box plus fractional HiRes bounds |             322 × 199 | Complete mark without the integer-rounding margins in this renderer |

For the final row, the extra comment was:

```postscript
%%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:

```bash
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](https://ghostscript.readthedocs.io/en/latest/Use.html#eps-parameters) 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](https://ghostscript.readthedocs.io/en/latest/Devices.html#bounding-box-output) 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](https://helpx.adobe.com/illustrator/using/saving-artwork.html) 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](https://perfectvector.com/blog/eps-file-really-vector) for that task. An [SVG bounding box](https://perfectvector.com/blog/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](https://perfectvector.com/image-to-eps). 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](https://printtechnologies.org/standards/files/epsf_spec_v3_0.pdf) — Defines lower-left and upper-right bounds around painted marks, including stroke extent and joins.
2. [Adobe — DSC 3.0 Specification](https://web.mit.edu/PostScript/Adobe/Documents/5001.DSC_Spec.pdf) — Defines the integer coordinate arguments of the BoundingBox comment.
3. [Ghostscript — EPS parameters](https://ghostscript.readthedocs.io/en/latest/Use.html#eps-parameters) — Documents EPSCrop and related EPS processing controls.
4. [Ghostscript — Bounding box output](https://ghostscript.readthedocs.io/en/latest/Devices.html#bounding-box-output) — Documents bbox measurement, white-object treatment, and resolution/rounding limits.
5. [Adobe — Save artwork](https://helpx.adobe.com/illustrator/using/saving-artwork.html) — 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](https://perfectvector.com/image-to-eps), compare its paths with the reference, then verify the entire exported artwork, dimensions, and crop in the recipient's workflow.

## Explore

- [Read the HTML article](https://perfectvector.com/blog/eps-bounding-box-cropped)
- [PDF Page Boxes: TrimBox, BleedBox and MediaBox](https://perfectvector.com/blog/pdf-page-boxes-artwork.md)
- [Shutterstock Vector Requirements: EPS File Checks](https://perfectvector.com/blog/shutterstock-vector-requirements.md)
- [Product facts](https://perfectvector.com/product-facts.md)
- [FAQ](https://perfectvector.com/faq.md)
- [Pricing and credits](https://perfectvector.com/pricing.md)
