Browse Pruune docs

Cleanup workflow

Compression and file sizes

Understand replacement behavior, safety limits, eligibility, and estimated savings.

Compression

Compression is for files you want to keep while reducing their storage use.

What compression does

For an accepted item, Pruune:

  1. Resolves a local source file.
  2. Creates a compressed temporary version on the device.
  3. Checks the result’s file size.
  4. Saves the compressed version to the photo library.
  5. Deletes the original asset.
  6. Removes the temporary working file.

The result is a new photo-library asset. It is not an in-place edit of the original asset.

Important: compression replaces the original

Compression is destructive to the original file. The smaller copy replaces it.

For photos, the current implementation creates a JPEG result. This can remove:

  • Location metadata
  • Camera metadata
  • Other original metadata
  • Live Photo motion
  • Original image encoding and file characteristics

Do not use compression when preserving the exact original, its metadata, Live Photo motion, or its original format matters.

Photo compression behavior

Current photo compression:

  • is offered at 5 MB and above;
  • when either source dimension exceeds 2048 pixels, requests a 2048-pixel output width;
  • keeps the source dimensions when both are already at or below 2048 pixels;
  • writes a JPEG result; and
  • uses a quality setting intended to reduce size while keeping the image visually useful.

The UI commonly estimates roughly 40–60% reduction for photos. This is an estimate, not a guarantee.

Video compression behavior

Current video compression:

  • is offered at 30 MB and above;
  • uses an adaptive bitrate based partly on the original size and duration;
  • uses a maximum output dimension of 1920 pixels for larger videos;
  • uses a maximum output dimension of 1280 pixels when the source is already at or below 1280 pixels; and
  • processes video through an on-device native compressor.

The UI commonly estimates roughly 50–70% reduction for videos. Actual results vary by source.

An iCloud-only video may need to download to the device before Pruune can play or compress it.

When Pruune keeps the original

Pruune rejects a compressed result as “Already optimized” unless it saves at least:

  • 1 MB, and
  • 2% of the original size.

If an item cannot be resolved or compression fails, the result is reported as unsuccessful rather than counted as compressed.

Always check the final result before assuming that an item was compressed.

Compression safety limits

Compression runs in the foreground with guardrails for heat, battery use, memory, and temporary storage.

GuardrailCurrent limit
Total accepted items in a compression session100
Videos in one compression session8
Total source data in one compression session6 GB
Total video source data in one compression session4 GB
Single video4 GB

When a safe pass is full, extra files stay original and can be handled in a later pass. Keep and delete decisions are not affected by the video compression limit.

Within a run, Pruune processes one encoder job at a time and periodically clears completed originals and temporary files to limit peak storage use.

Canceling compression

The progress screen includes a cancel action. Pruune stops moving on to new queue items and attempts to cancel an active video compression.

Items already completed before cancellation may already have replacement assets in the library. Review the progress results rather than assuming the entire run was rolled back.

Estimated versus actual savings

Before processing, Pruune generally estimates compression savings as about 60% of the source size. The recap uses the actual size difference reported for successful compression results.

The number shown beside a pending delete is based on the best size information Pruune currently has. See How Pruune calculates file size.


How Pruune calculates file size

Pruune uses file size both for the current-card details and for estimated storage savings.

On iOS

Pruune’s native size module reads the resources associated with an Apple Photos asset.

It calculates:

  • Photos size: the visible/current media size, excluding a Live Photo’s paired video and excluding an older full-size original when a current edited resource exists.
  • On Disk size: the combined size of relevant asset resources, including paired Live Photo video and retained original resources, while excluding adjustment-data resources.

When the on-disk value is more than 10% larger than the visible Photos value, the card shows both values.

Deletion and compression savings calculations prefer the on-disk value.

Fallback behavior

If an exact native size is unavailable, Pruune tries:

  1. The size of a directly accessible local file.
  2. A size estimate based on image dimensions, format, or video duration.

An estimated size is useful for review but may not exactly match the value shown elsewhere by the operating system.