Flat Rate Envelope (12-1/2″ x 9-1/2″)
Legal Flat Rate Envelope (15″ x 9-1/2″)
Padded Flat Rate Envelope (12-1/2″ x 9-1/2″)
Small Flat Rate Box (8-5/8″ x 5-3/8″ x 1-5/8″)
Medium Flat Rate Box – Top Loading (11″ x 8-1/2″ x 5-1/2″)
Medium Flat Rate Box – Side Loading (13-5/8″ x 11-7/8″ x 3-3/8″)
Large Flat Rate Box (12″ x 12″ x 5-1/2″)
APO/FPO/DPO Large Flat Rate Box
Priority Mail includes up to $100 insurance. Enter value ONLY for extra coverage.
Base Rate (Per Item):$0.00
Quantity:0
Estimated Insurance Cost:$0.00
Total Estimated Cost:$0.00
How to Use the USPS Flat Rate Calculator
Shipping costs can be unpredictable, but the USPS Priority Mail Flat Rate system simplifies the process with the philosophy:
"If it fits, it ships." This calculator helps you estimate the total postage cost for domestic shipments based on current
Flat Rate pricing tiers, without worrying about weighing your package (as long as it is under 70 lbs).
Current Flat Rate Box Dimensions
Choosing the right box is critical. You are paying for the space inside the box, not the weight.
Flat Rate Envelope: Ideal for documents, passports, and letters (12-1/2″ x 9-1/2″).
Small Flat Rate Box: Perfect for small electronics, jewelry, or trinkets (8-5/8″ x 5-3/8″ x 1-5/8″).
Medium Flat Rate Box: The most popular size, available in top-loading and side-loading configurations. Good for office supplies or shoes.
Large Flat Rate Box: Best for larger, heavier items like laptop computers or multiple books (12″ x 12″ x 5-1/2″).
Weight Limits and Restrictions
The primary advantage of Flat Rate shipping is that the price remains the same regardless of weight, provided the package
does not exceed 70 lbs. For domestic shipments, you do not need to calculate zones; the rate is identical
whether you are shipping from New York to New Jersey or New York to California.
Retail vs. Commercial Pricing
The rates displayed in this calculator are based on standard Retail pricing (Post Office counter rates). If you purchase postage online
via services like Click-N-Ship or third-party shipping software, you may qualify for Commercial Base pricing, which typically offers
savings of 5-10% off the retail price.
function calculateShipping() {
// 1. Get Input Values
var typeSelect = document.getElementById("packageType");
var selectedType = typeSelect.value;
var qtyInput = document.getElementById("packageQty").value;
var insuranceInput = document.getElementById("addInsurance").value;
// 2. Data Definitions (Approximate Retail Rates 2024/2025)
var rates = {
"envelope": { price: 9.85, name: "Flat Rate Envelope", dim: "12-1/2\" x 9-1/2\"" },
"legal_envelope": { price: 10.15, name: "Legal Flat Rate Envelope", dim: "15\" x 9-1/2\"" },
"padded_envelope": { price: 10.60, name: "Padded Flat Rate Envelope", dim: "12-1/2\" x 9-1/2\"" },
"small_box": { price: 10.40, name: "Small Flat Rate Box", dim: "8-5/8\" x 5-3/8\" x 1-5/8\"" },
"medium_box_1": { price: 18.40, name: "Medium Flat Rate Box (Top)", dim: "11\" x 8-1/2\" x 5-1/2\"" },
"medium_box_2": { price: 18.40, name: "Medium Flat Rate Box (Side)", dim: "13-5/8\" x 11-7/8\" x 3-3/8\"" },
"large_box": { price: 24.75, name: "Large Flat Rate Box", dim: "12\" x 12\" x 5-1/2\"" },
"military_box": { price: 23.00, name: "APO/FPO Large Box", dim: "12\" x 12\" x 5-1/2\"" }
};
// 3. Validation and Parsing
var qty = parseFloat(qtyInput);
if (isNaN(qty) || qty < 1) {
qty = 1;
document.getElementById("packageQty").value = 1;
}
var extraInsuranceValue = parseFloat(insuranceInput);
if (isNaN(extraInsuranceValue) || extraInsuranceValue 0) {
// Very simplified tiered logic for estimation
var insuredAmount = extraInsuranceValue;
// Rough estimation logic: approx $2.00 per $100 estimation for calculator purposes
insuranceCost = (Math.ceil(insuredAmount / 100) * 1.85);
}
// 5. Calculate Totals
var basePrice = rates[selectedType].price;
var subtotal = basePrice * qty;
var totalInsurance = insuranceCost * qty;
var total = subtotal + totalInsurance;
// 6. Update DOM
document.getElementById("baseRateDisplay").innerHTML = "$" + basePrice.toFixed(2);
document.getElementById("qtyDisplay").innerHTML = qty;
document.getElementById("insuranceDisplay").innerHTML = "$" + totalInsurance.toFixed(2);
document.getElementById("totalCostDisplay").innerHTML = "$" + total.toFixed(2);
var boxInfo = rates[selectedType];
document.getElementById("boxDimensions").innerHTML =
"Selected Package: " + boxInfo.name + "" +
"Dimensions: " + boxInfo.dim + "" +
"Weight Limit: 70 lbs per package.";
document.getElementById("resultDisplay").style.display = "block";
}