Letter (Stamped) – Standard Size
Letter (Metered) – Standard Size
Postcard
Large Envelope (Flat)
Priority Mail Flat Rate Envelope
Priority Mail Legal Flat Rate Envelope
Priority Mail Small Flat Rate Box
Priority Mail Medium Flat Rate Box
Priority Mail Large Flat Rate Box
Please enter a valid weight.
Max 3.5 oz for Letters, 13 oz for Flats.
Estimated Postage Cost (2024 Rates)
$0.00
Guide to USPS Postage Rates in 2024
Navigating the United States Postal Service (USPS) postage rates can be complex, especially with the bi-annual price adjustments. As of July 14, 2024, the USPS implemented new rates for market-dominant mail products. This calculator reflects these updated pricing structures to help you estimate your shipping costs accurately.
Key Rate Changes (Effective July 2024)
The most significant change for everyday mailers is the increase in the price of a First-Class Mail Forever stamp.
Mail Item
Previous Rate (Jan 2024)
Current Rate (July 2024)
First-Class Letter (1 oz)
$0.68
$0.73
Each Additional Ounce
$0.24
$0.28
Domestic Postcard
$0.53
$0.56
International Letter
$1.55
$1.65
Understanding Mail Classes
1. First-Class Mail Letters
This is the most common way to send envelopes. The base rate covers the first ounce. Prices are determined by the shape of the mailpiece (standard letter vs. non-machinable) and the weight.
Standard Letter: Rectangular, at least 3.5 inches high x 5 inches long, and no more than 0.25 inches thick.
Weight Limit: Letters heavier than 3.5 ounces are charged as Large Envelopes (Flats).
2. Large Envelopes (Flats)
Large envelopes are perfect for documents that shouldn't be folded, like certificates or manuscripts. To qualify as a flat, the item must be flexible, uniformly thick, and rectangular.
Starting Price: $1.50 for the first ounce.
Additional Ounces: $0.28 per ounce.
Maximum Weight: 13 ounces. Over 13 ounces, it becomes Priority Mail.
3. Priority Mail Flat Rate
Flat Rate pricing removes the need to weigh your package (up to 70 lbs) or calculate zones. If it fits in the official USPS Flat Rate box or envelope, it ships for one price.
Reliability: Includes tracking and typically delivers in 1-3 business days.
Insurance: Includes up to $100 of insurance.
How to Save on Postage
Use Metered Mail: If you have a postage meter for your business, you pay a lower rate for First-Class letters ($0.69) compared to the retail stamp price ($0.73).
Check Dimensions: Ensure your letter is "machinable." Square envelopes, rigid items, or envelopes with clasps may incur a "non-machinable surcharge" of roughly $0.46 because they cannot be processed by automated equipment.
function toggleInputs() {
var mailType = document.getElementById('mailType').value;
var weightGroup = document.getElementById('weightGroup');
var weightNote = document.getElementById('weightNote');
// Show weight input only for calculated rates (Letters/Flats)
if (mailType === 'letter_stamped' || mailType === 'letter_metered') {
weightGroup.style.display = 'block';
weightNote.innerHTML = 'Max 3.5 oz. Heavier items are classified as Large Envelopes.';
} else if (mailType === 'flat') {
weightGroup.style.display = 'block';
weightNote.innerHTML = 'Max 13 oz. Heavier items are classified as Priority Mail.';
} else {
// Postcards and Flat Rate items have fixed prices
weightGroup.style.display = 'none';
}
// Hide result when changing type to encourage re-calculation
document.getElementById('resultBox').style.display = 'none';
}
function calculatePostage() {
var mailType = document.getElementById('mailType').value;
var weightInput = document.getElementById('weightInput');
var weight = parseFloat(weightInput.value);
var cost = 0;
var details = "";
var isValid = true;
var additionalOunceRate = 0.28; // July 2024 Rate
// Hide previous errors
document.getElementById('weightError').style.display = 'none';
if (mailType === 'letter_stamped') {
if (isNaN(weight) || weight 3.5) {
alert("Standard letters generally cannot exceed 3.5 oz. Please select 'Large Envelope (Flat)' or calculate as a package.");
return;
}
// Base rate $0.73
var baseRate = 0.73;
// Calculate additional ounces. USPS rounds up to the next ounce.
// e.g., 1.1 oz pays for 2 oz.
var chargeableWeight = Math.ceil(weight);
var additionalOunces = chargeableWeight – 1;
if (additionalOunces < 0) additionalOunces = 0;
cost = baseRate + (additionalOunces * additionalOunceRate);
details = weight + " oz First-Class Letter";
} else if (mailType === 'letter_metered') {
if (isNaN(weight) || weight 3.5) {
alert("Standard letters generally cannot exceed 3.5 oz. Please select 'Large Envelope (Flat)'.");
return;
}
// Base rate $0.69 for Metered
var baseRate = 0.69;
var chargeableWeight = Math.ceil(weight);
var additionalOunces = chargeableWeight – 1;
if (additionalOunces < 0) additionalOunces = 0;
cost = baseRate + (additionalOunces * additionalOunceRate);
details = weight + " oz Metered Letter";
} else if (mailType === 'postcard') {
cost = 0.56;
details = "Standard Postcard Rate";
} else if (mailType === 'flat') {
if (isNaN(weight) || weight 13) {
alert("Large Envelopes cannot exceed 13 oz. This item must be shipped as Priority Mail or Ground Advantage.");
return;
}
// Base rate $1.50
var baseRate = 1.50;
var chargeableWeight = Math.ceil(weight);
var additionalOunces = chargeableWeight – 1;
if (additionalOunces < 0) additionalOunces = 0;
cost = baseRate + (additionalOunces * additionalOunceRate);
details = weight + " oz Large Envelope";
} else if (mailType === 'fr_envelope') {
cost = 9.85; // Retail price estimate 2024
details = "Priority Mail Flat Rate Envelope";
} else if (mailType === 'fr_legal_envelope') {
cost = 10.15; // Retail price estimate 2024
details = "Priority Mail Legal Flat Rate Envelope";
} else if (mailType === 'fr_box_small') {
cost = 10.40; // Retail price estimate 2024
details = "Priority Mail Small Flat Rate Box";
} else if (mailType === 'fr_box_medium') {
cost = 18.40; // Retail price estimate 2024
details = "Priority Mail Medium Flat Rate Box";
} else if (mailType === 'fr_box_large') {
cost = 24.75; // Retail price estimate 2024
details = "Priority Mail Large Flat Rate Box";
}
// Display Result
var resultBox = document.getElementById('resultBox');
var resultValue = document.getElementById('resultValue');
var resultDetails = document.getElementById('resultDetails');
resultValue.innerHTML = "$" + cost.toFixed(2);
resultDetails.innerHTML = details;
resultBox.style.display = 'block';
}
// Initialize view
toggleInputs();