Your Own Packaging (Weight/Zone)
Flat Rate Envelope (12.5″ x 9.5″)
Legal Flat Rate Envelope (15″ x 9.5″)
Padded Flat Rate Envelope
Small Flat Rate Box
Medium Flat Rate Box
Large Flat Rate Box
For items under 1 lb, enter decimal (e.g. 0.5 lbs for 8oz).
Zone 1 (Local, ~50 miles)
Zone 2 (up to 150 miles)
Zone 3 (151 – 300 miles)
Zone 4 (301 – 600 miles)
Zone 5 (601 – 1000 miles)
Zone 6 (1001 – 1400 miles)
Zone 7 (1401 – 1800 miles)
Zone 8 (1801+ miles)
Zone 9 (Freely Associated States)
Service Level:Priority Mail® Retail
Selected Package:Standard
Zone:1
$0.00
*Rates reflect USPS Retail Pricing effective July 14, 2024. Does not include Dimensional Weight surcharges for large lightweight packages over 1 cubic foot. Commercial Base pricing (via online software) is typically lower.
Understanding Priority Mail Rates (July 2024 Update)
The United States Postal Service (USPS) implemented a price change on July 14, 2024. For shippers utilizing Priority Mail®, these changes affect both "Flat Rate" products and variable pricing based on weight and distance (Zone). This calculator helps you estimate shipping costs based on the Retail (Post Office) rates established in this update.
Current Flat Rate Pricing (Retail)
Flat Rate shipping is one of the most popular options because it simplifies cost calculation—if it fits, it ships for one low price regardless of weight (up to 70 lbs) or destination zone. As of July 2024, the retail rates are:
Package Type
Retail Price
Flat Rate Envelope
$9.85
Legal Flat Rate Envelope
$10.15
Padded Flat Rate Envelope
$10.60
Small Flat Rate Box
$10.40
Medium Flat Rate Box
$18.40
Large Flat Rate Box
$24.75
How Variable Zones Work
If you are not using Flat Rate packaging, your shipping cost is determined by the weight of the package and the distance it travels, measured in "Zones."
Zone 1 & 2: Local shipments (up to 150 miles).
Zone 4: Moderate distance (e.g., Chicago to Nashville).
Zone 8: Cross-country shipments (e.g., New York to Los Angeles).
The July 2024 update saw an average increase in Priority Mail rates of approximately 5.7%. It is important to weigh your package accurately, rounding up to the nearest pound, as USPS charges for the full pound increment (e.g., 1.1 lbs is charged as 2 lbs).
Retail vs. Commercial Pricing
The rates shown in this calculator are Retail Rates, which is what you pay at the Post Office counter. If you use online shipping software (like Stamps.com, Pirate Ship, or eBay labels), you typically qualify for Commercial Base Pricing, which can be up to 40% cheaper than the retail rates shown here.
function toggleWeightInput() {
var type = document.getElementById('packageType').value;
var weightGroup = document.getElementById('weightGroup');
// If it's variable (Own Packaging), show weight. Otherwise hide it.
if (type === 'variable') {
weightGroup.style.display = 'block';
} else {
weightGroup.style.display = 'none';
}
}
function calculatePostage() {
// Inputs
var type = document.getElementById('packageType').value;
var zone = parseInt(document.getElementById('zoneSelect').value);
var weightInput = parseFloat(document.getElementById('weightLbs').value);
// Validation for variable weight
if (type === 'variable' && (isNaN(weightInput) || weightInput 70) {
alert("Priority Mail weight limit is 70 lbs.");
return;
}
if (weight 10lbs to keep script small
// Data format: [dummy, Z1&2, Z3, Z4, Z5, Z6, Z7, Z8, Z9]
var rates = {
1: [0, 9.25, 9.65, 9.85, 10.15, 10.35, 10.95, 11.55, 19.30],
2: [0, 10.10, 10.85, 11.75, 12.80, 14.70, 16.50, 18.60, 31.75],
3: [0, 10.85, 11.70, 12.75, 15.05, 18.15, 21.40, 24.85, 42.10],
4: [0, 11.55, 12.60, 14.15, 17.50, 21.60, 25.40, 29.50, 50.15],
5: [0, 12.35, 13.50, 15.35, 19.30, 24.50, 29.20, 34.05, 57.90],
6: [0, 13.05, 14.30, 16.05, 21.35, 27.60, 33.10, 38.80, 66.00],
7: [0, 14.05, 15.40, 17.55, 23.45, 30.65, 36.90, 43.60, 74.05],
8: [0, 14.80, 16.70, 19.40, 25.55, 33.70, 40.85, 48.60, 82.60],
9: [0, 15.65, 17.90, 21.30, 27.60, 36.65, 44.60, 53.60, 91.10],
10: [0, 16.45, 19.25, 23.10, 29.80, 39.75, 48.55, 58.55, 99.55]
};
if (weight 1, Z2->1, Z3->2, Z4->3 … Z9->8
var zoneIndex = zone;
if (zoneIndex === 1 || zoneIndex === 2) zoneIndex = 1;
else zoneIndex = zoneIndex – 1; // Shift down because 1&2 are combined in column 1 usually
// Correction: The array above was manually built:
// Index 1 = Zone 1&2
// Index 2 = Zone 3
// Index 3 = Zone 4
// …
// Index 7 = Zone 8
// Index 8 = Zone 9
// Let's remap the zone input (1-9) to the array index (1-8)
var mapZoneToIndex = {1:1, 2:1, 3:2, 4:3, 5:4, 6:5, 7:6, 8:7, 9:8};
var actualIndex = mapZoneToIndex[zone];
price = rates[weight][actualIndex];
} else {
// Weight > 10 lbs approximation logic
// Take 10lb base + approx rate per pound depending on zone
var base10 = 0;
var perLbAdder = 0;
// Remap zone again
var mapZoneToIndex = {1:1, 2:1, 3:2, 4:3, 5:4, 6:5, 7:6, 8:7, 9:8};
var idx = mapZoneToIndex[zone];
// Get 10lb price as base
base10 = rates[10][idx];
// Approximate adder per lb > 10 (Derived from diff between 10lb and 20lb rates)
var adders = {
1: 0.80, // Zone 1/2
2: 1.10, // Zone 3
3: 1.40, // Zone 4
4: 2.10, // Zone 5
5: 3.10, // Zone 6
6: 3.90, // Zone 7
7: 4.80, // Zone 8
8: 8.50 // Zone 9
};
perLbAdder = adders[idx];
var extraWeight = weight – 10;
price = base10 + (extraWeight * perLbAdder);
}
}
// Display Results
document.getElementById('resultsArea').style.display = 'block';
document.getElementById('displayPkg').innerText = typeLabel;
document.getElementById('displayZone').innerText = zone;
// Format Currency
document.getElementById('totalPrice').innerText = "$" + price.toFixed(2);
}