Tool
Performance Budget Calculator
Set a transfer-size budget for one page view by resource type. The calculator adds the values, shows each type's share of the total and the raw transfer time at a chosen connection speed, and exports the budget as a CSV file. It is a planning aid, not a Core Web Vitals predictor.
Calculator
Sizes in kilobytes (1 KB = 1,000 bytes), as transferred over the network. Whole numbers from 0 to 50,000.
What this is: a transfer-size budget. It does not predict LCP, INP or CLS, which depend on server time, priorities, main-thread work and layout. Starting values are an editorial example, not a Google standard.
How to use it
- Choose a network assumption. The first option uses Lighthouse's standard mobile throttling values: 1.6 Mbps download and 150 milliseconds of latency. The other two are round example speeds.
- Load a set of starting values, or start from zero. Both example sets are editorial starting points, not recommendations from Google or anyone else.
- Enter your own budget in kilobytes for each resource type. Use values from a passing template in your own field data where you can; the budgets guide explains how.
- Download the CSV for your tracker or ticket. The file is labeled as a user-entered budget, not a measurement.
The formulas
- Total is the sum of the six fields, in kilobytes (1 KB = 1,000 bytes). Totals of 1,000 KB or more are shown in megabytes.
- Share for each type is its value divided by the total, times 100.
- Raw transfer time in seconds is total kilobytes × 8 ÷ (throughput in Mbps × 1,000). At 1.6 Mbps, 1,000 KB takes 5 seconds.
Bars turn amber when a type is more than 25% of the total and red above 40%, as a prompt to look at that type first. The thresholds are a display choice, not a standard.
Input rules
Each field accepts a whole number from 0 to 50,000. Empty fields, negative numbers, decimals, letters and values above the limit are flagged, and the total uses only valid fields until they are corrected. The calculator runs entirely in your browser and sends nothing to a server.
What it does not do
- It does not predict LCP, INP or CLS. Those depend on what loads first, priorities, server time, main-thread work and layout, not on total bytes alone.
- It does not fetch or test any website.
- Raw transfer time ignores latency, connection setup, server response time, caching, compression changes and parallel downloads.
For what decides each metric, see LCP, INP and CLS.
Questions
Does the transfer time include latency?
No. It divides the total by the chosen throughput. Real loads add round trips, server time and rendering, so treat it as a lower bound.
Should I enter compressed or uncompressed sizes?
Compressed transfer sizes, as shown in the network panel of your browser's developer tools. That is what travels over the connection.
Why is third-party script a separate line?
Because it is controlled by vendors, not your developers, and it tends to grow without review. Tracking it on its own line keeps it visible.
Sources
- GoogleChrome, Lighthouse throttling documentation, no date shown.
- web.dev, How the Core Web Vitals metrics thresholds were defined, last updated May 7, 2025.