Skip to content
Calcrivo

Git LFS Storage Calculator

Estimate Git LFS storage footprint and monthly bandwidth usage from tracked object count, average size and pull volume.

Inputs

objects

Number of distinct large-file versions tracked via Git LFS.

MB

Average size of one LFS-tracked object (e.g. a design file, model, or media asset).

pulls

Number of times LFS objects are downloaded per month (CI runs, clones, checkouts).

LFS Storage Footprint

7.32GB

Monthly LFS Bandwidth

4.39GB

LFS Storage Footprint

7,500MB

Monthly LFS Bandwidth

4,500MB

Step by step

  1. Storage: objects × avg size

    500 × 15MB

    = 7500MB

  2. Monthly bandwidth: pulls × avg size

    300 × 15MB

    = 4500MB

How it works

Git LFS bills storage and bandwidth separately from repository size. Formula: storage = lfs_objects × avg_size; monthly_bandwidth = monthly_pulls × avg_size. Every clone, fetch or checkout that touches an LFS-tracked file re-downloads it (unless cached), so bandwidth usage scales with team size and CI activity, not just repository growth.

Formulas

LFS storage

storage_GB = lfs_objects × avg_size_MB / 1024

lfs_objects
Number of LFS-tracked objects
avg_size_MB
Average object size (MB)

Monthly bandwidth

bandwidth_GB = monthly_pulls × avg_size_MB / 1024

monthly_pulls
LFS object downloads per month
avg_size_MB
Average object size (MB)

Frequently Asked Questions

Why is my LFS bandwidth bill higher than expected?

Every CI job that clones the repo re-downloads all LFS objects referenced by the checked-out commit unless you cache the LFS store between runs — this is the most common cause of runaway bandwidth usage.

How do I reduce LFS bandwidth costs?

Cache `.git/lfs` between CI runs, use `git lfs fetch --recent` to skip old history, and consider `GIT_LFS_SKIP_SMUDGE=1` for CI jobs that don't need the actual file content.

Does deleting an LFS-tracked file reduce storage?

No — like regular Git objects, LFS objects remain in history until you rewrite it (e.g. `git lfs prune` for local caches, or provider-specific history rewriting for the remote store).

What files should go in Git LFS?

Binary or large files that change often and don't diff well as text — images, videos, datasets, compiled models, design files — so history doesn't balloon with full copies of every version.

You might also need