Why is my PSD file so large?
Your Photoshop file may contain hidden metadata bloat, not actual image data. Here is how to tell, and how to fix it without flattening anything.
If your PSD suddenly became huge even though you did not add new layers or content,
you are not alone. Adobe’s forums have carried threads titled “PSD file size grows
exponentially” and “Metadata bloat, abnormally large PSD files” for years. In most of
those cases the file grew because of a hidden metadata field called
photoshop:DocumentAncestors, not because of layers or pixels.
Below are the seven things that actually make a Photoshop file large, roughly in order of how often they are the culprit, and a quick way to check which one you are dealing with.
What is inside a PSD file
A PSD is five sections written back to back. Only two of them are usually big: the layer section and the composite image. Here is the byte split of a real 1920×1080 game-art file we measured. Note that the image itself was tiny.
- Header 26 B Version, size, colour mode
- Colour mode data 0 B Only used by indexed/duotone files
- Image resources 30 KB XMP packet, thumbnail, guides, ICC profile
- Layer & mask info 897 MB Layers, masks, smart objects — and their XMP
- Composite image 5 MB Flattened preview for other apps
The 7 causes, ranked
- DocumentAncestors metadata (the hidden one). Every time you paste or place content from another Photoshop document, Photoshop records the source document’s ID in an XMP list. The list is never pruned. Reuse a template for a year and it can hold tens of thousands of entries. Worse, every smart object carries its own copy of the list, so a file with 40 smart objects stores the bloat 41 times. This is the cause our tool fixes.
- Smart objects with embedded originals. An embedded smart object stores the full original file, including a 300 MB RAW or a layered PSD, even if you only show a 200×200 thumbnail of it. Convert to a linked smart object or rasterize once the design is final.
- Resolution and dimensions. Pixel data scales with width × height × layers. A 6000×4000 document with 30 pixel layers is 30 layers of 24 megapixels each. Check Image → Image Size and make sure you are not working at print resolution for a web asset.
- 16-bit or 32-bit colour depth. 16-bit doubles the size of every pixel layer; 32-bit quadruples it. Unless you are doing HDR compositing or heavy colour grading, 8-bit is enough and halves the file.
- Layer masks and hidden layers. A pixel mask is another full-size greyscale channel per layer. Hidden layers are still stored. Empty layers cost almost nothing, but a hidden 6000×4000 layer with a mask costs the same as a visible one.
- “Maximize Compatibility” composite. With this option on, Photoshop writes a flattened copy of the whole image at the end of the file so Lightroom, Bridge, and other apps can show a preview. On a large document that is one extra full-resolution layer. It is worth keeping for files other apps will open, and worth disabling for working files.
- Uncompressed channels. Photoshop uses RLE compression, which works well on flat colour and badly on noise, grain, and photographic texture. A noisy layer barely compresses at all. There is no setting for this; it is simply what the content costs.
How to tell which cause you have
- Size jumped without visible changes, or grows on every save: almost certainly cause 1. Drop the file in the tool above and look at the “Saved” number.
- Photoshop’s status bar “Doc:” number is far below the file size on disk: the difference is metadata or embedded smart-object originals (causes 1 and 2).
- Status bar size roughly matches file size: it is real pixel data. Look at causes 3 to 7. Metadata stripping will not help much here.
The fix for metadata bloat, without breaking your file
You do not need to flatten your file, remove layers, or use Photoshop scripting. The tool on this page rewrites the file and strips only the ancestor list from the main document and from every embedded smart object. Everything else is copied through unchanged:
Removed
photoshop:DocumentAncestors- The
rdf:Bagandrdf:lientries inside it - The same field inside each embedded smart object
Preserved
- All layers, groups and masks
- Smart objects and linked files
- Layer effects, blend modes, adjustment layers
- ICC profile, guides, slices, other XMP fields
- Pixel data, bit-for-bit identical
Why Photoshop does not fix this itself
Adobe treats DocumentAncestors as provenance data and preserves it on every save, including “Save As” and “Save a Copy”. The official workaround on Adobe’s forums is a Bridge or ExtendScript script that opens each file and deletes the field through the XMP API. That works, but it needs Photoshop, runs one file at a time, and does not reach into smart objects. The metadata removal guide compares the script route with this tool in more detail.
Keeping it from coming back
- Clean the file once, then keep using it. The list only grows when you paste from other documents, so a cleaned template stays small for a long time.
- Prefer linked smart objects over embedded ones for anything large.
- Turn off “Maximize Compatibility” for working files (Preferences → File Handling) and re-enable it for final deliverables.
- Re-run the tool before sending or archiving. It takes seconds and is deterministic.
Drop your PSD above. Processing takes a few seconds and never leaves your browser.
Real numbers: before and after
The first row is a file we measured with this exact engine. It took 1.4 seconds on a laptop. The other rows are cases reported by Photoshop users on Adobe’s forums after removing the same metadata field.
| File | Before | After | Saved |
|---|---|---|---|
| Game art, 1920×1080, RGB 8-bit, many smart objects | 902 MB | 254 MB | 71.8% |
| Retouched photo passed between editors (Adobe Community) | 65 MB | 110 KB | 99.8% |
| Reused PSD template, images placed repeatedly (Adobe Community) | 100 MB | 7 MB | 93% |
Your result depends entirely on how much ancestor history the file carries. A PSD created in one sitting and saved once may shrink by only a few kilobytes. A file that has been a template for two years can lose most of its size.
Step by step
- Open the tool. Open psd.imtool.app in any modern desktop browser. Nothing to install.
- Drop the file. Drag the .psd or .psb file onto the drop zone, or click it to pick a file. The file stays on your device.
- Wait a few seconds. The engine reads the file in a Web Worker and removes the DocumentAncestors metadata from the main document and every embedded smart object.
- Download. Compare the before and after sizes, then download the cleaned copy. The original is untouched.
FAQ
How do I check what is making my PSD large?
Photoshop’s own Document Sizes readout (Image → Image Size, or the status bar) shows only pixel data, not metadata. The quickest test is to drop the file into this tool: if the “Saved” number is large, metadata was the problem. If it is close to zero, the size is real pixel data and you need to look at layers, smart objects and resolution instead.
Does this affect image quality?
No. Pixel data, layer thumbnails, and colour profiles are preserved byte-for-byte. The tool only removes XMP metadata fields that Photoshop itself does not need to render the file.
Will my layers stay intact?
Yes. Layers, masks, layer effects, smart objects, adjustment layers, and the layer hierarchy are all left untouched.
Is my file uploaded to a server?
No. Processing happens entirely in your browser via WebAssembly. The file you choose stays on your device.
How big can the metadata bloat get?
In extreme cases, hundreds of megabytes. Our test file carried 648 MB of ancestor history inside a 902 MB document. Photoshop appends a new ancestor identifier each time content is pasted or placed from another document, and smart objects carry their own copy.
Why does the file keep growing even when I delete layers?
Deleting layers removes pixel data but never removes ancestor identifiers. Each save writes the full accumulated list back to disk, so the metadata section only ever grows.