Post Office money order fees are typically between $1.45 and $2.00, depending on the amount you're sending

The United States Postal Service (USPS) charges a flat fee for each money order you buy, regardless of whether you're sending $10 or $1,000. As of 2024, the fee is $1.45 for money orders up to $500 and $2.00 for money orders between $500.01 and $1,000. These prices can change, so confirm the current rate at your local post office or on USPS.com before you go.

You pay this fee when you purchase the money order at the counter. The fee is separate from the amount of money you're sending — if you want to send $100, you'll pay $100 plus the money order fee. Some post offices may charge slightly different rates in rare cases, so it's worth asking when you arrive.

Key Takeaways

  • USPS charges $1.45 for money orders up to $500 and $2.00 for money orders from $500.01 to $1,000.
  • The fee is added to the amount you're sending and paid at the time of purchase.
  • You cannot send more than $1,000 in a single USPS money order.
  • Other places that sell money orders — like grocery stores, check-cashing services, and banks — may charge different fees, often lower than the post office.

How the fee works when you buy a money order

When you walk up to the post office counter with cash or a debit card, you tell the clerk the amount you want to send. They print the money order, you pay them the amount plus the fee, and you receive the money order to give or mail to the recipient. The recipient then takes it to their bank or post office to cash it.

If you're sending $250, for example, you hand over $251.45 (the $250 plus the $1.45 fee). The money order itself shows only the $250 — the fee doesn't appear on the document. The recipient receives $250 when they cash it; the fee stays with the post office.

When you might pay more or less than the post office rate

The post office is not always the cheapest place to buy a money order. Walmart, grocery stores with financial services, and check-cashing businesses often charge $0.50 to $1.00 per money order. Banks sometimes offer them free to account holders. If you're buying several money orders or sending a large amount, shopping around can save you real money.

The trade-off is convenience and hours. A post office is open during business hours, usually Monday through Friday and Saturday mornings. Walmart and many grocery stores are open evenings and weekends. If you need a money order outside normal business hours, you may have no choice but to pay a higher fee or wait until the next day.

Why the post office charges a fee

The fee covers the cost of printing the money order, processing it, and the post office's liability if the money order is lost or stolen. A money order is a may provide payment — the post office backs it — so they charge a small amount to cover that may provide and their operational costs.

This is different from a personal check, which costs nothing to write but carries no may provide. A money order costs money upfront but is safer for the recipient because they know the funds are already set aside.

Fees for replacing a lost or damaged money order

If you lose a money order or it gets damaged before the recipient cashes it, the post office can issue a replacement. This process costs an additional $1.45 fee. You'll need to provide the original money order number, the amount, the date you bought it, and the name of the recipient. The post office will search their records to confirm the money order hasn't already been cashed.

This is why it's important to keep your receipt when you buy a money order. The receipt has the money order number on it. Without that number, replacing a lost money order becomes much harder and may not be possible if enough time has passed.

Money order fees compared to other payment methods

Payment MethodTypical CostWhen to Use
USPS Money Order$1.45–$2.00Sending cash safely; recipient needs may provide funds
Walmart Money Order$0.50–$1.00Lower cost; need evening or weekend hours
Bank CheckFree (usually)Sending to someone with a bank account
Wire Transfer$15–$50Urgent transfer; large amounts; international
ACH TransferFree (usually)Sending between bank accounts; not urgent

What to bring when you buy a money order at the post office

Bring cash or a debit card to pay for the money order and the fee. You do not need an ID or bank account. The post office will ask you for the recipient's name and address, so have that information ready. You do not need to provide your own name or address, though some post offices may ask for it.

If you're mailing the money order, you can buy postage at the same counter. If you're handing it to someone in person, you're done once you pay and receive the money order.

Frequently Asked Questions

Can I buy a money order online and avoid the fee?

No. USPS does not sell money orders online. You must go to a post office in person. Some third-party websites claim to sell money orders, but they are not official USPS and often charge higher fees or are scams. Always buy money orders from the post office, a bank, or a retailer you know.

What if I don't have the exact amount for the fee?

The clerk will make change just like at any store. If you hand over $52 for a $50 money order plus $1.45 fee, you'll receive $0.55 back. You can also pay with a debit card and avoid carrying exact cash.

Is there a fee to cash a money order?

No. The person who receives the money order can cash it at any bank, credit union, or post office for free. The fee is paid only by the person who buys it.

Can I get a refund if I change my mind about the money order?

Yes, but only if the money order has not been cashed. Return to the post office with the money order and your receipt. They will refund the full amount plus the fee. If the money order has already been cashed, there is no refund.

Why does the post office charge more than Walmart?

The post office's fee covers their operational costs and liability. Walmart and grocery stores often use money orders as a way to draw customers in and may charge less. Both are legitimate; the choice depends on your location, hours, and how much you're sending.