USPS money order fees depend on the amount you're sending

A USPS money order costs between $1.45 and $2.00, depending on how much money the order is for. Orders up to $500 cost $1.45. Orders from $500.01 to $1,000 cost $2.00. You pay this fee when you buy the money order at the post office — it's added to the total amount you hand over.

The fee itself doesn't change based on where you buy it or when. Every post office charges the same rate. You cannot buy a USPS money order for more than $1,000, so if you need to send more than that, you would need to buy multiple money orders or use a different method.

Key Takeaways

  • USPS money orders under $500 cost $1.45; orders from $500.01 to $1,000 cost $2.00.
  • The fee is the same at every post office and does not vary by location or time of purchase.
  • You pay the fee upfront when you buy the money order, not when it's cashed.
  • If you need to send more than $1,000, you must buy multiple money orders or choose another payment method.
  • Money orders can be purchased with cash, debit card, or traveler's checks at most post offices.

How the fee works when you buy

When you walk into a post office to buy a money order, you tell the clerk the amount you want to send. The clerk adds the fee to that amount. If you want to send $300, you pay $301.45 total — $300 goes on the money order itself, and $1.45 is the fee. If you want to send $600, you pay $602.00 total.

The person receiving the money order does not pay anything. They cash it or deposit it for the full face amount — in the examples above, they receive $300 or $600, not less. The fee comes out of your pocket only.

Comparing USPS fees to other money order sources

Other places that sell money orders charge different amounts. Walmart money orders typically cost less than USPS — usually around $0.88 for amounts under $1,000. Western Union charges more, often $1 to $2 depending on the amount and location. Banks may charge $5 to $10 or may offer them free to account holders.

The trade-off is availability and speed. USPS has more locations than most alternatives, and you can buy a money order during regular post office hours without needing a bank account. If cost is your main concern and you have access to Walmart, that's usually the cheapest option. If you need the money order quickly or live in a rural area, USPS may be your only choice.

What you need to bring to buy one

You need the money to cover both the amount and the fee, and you need to know who the money order is for — the recipient's name goes on it. Bring cash, a debit card, or traveler's checks. Most post offices do not accept credit cards for money order purchases, though this varies by location, so call ahead if you plan to use a card.

You do not need an ID to buy a USPS money order, but the clerk will ask for the recipient's name and your name. Have that information ready. If you're sending it to a business, use their official name as it appears on their invoices or bills.

When the fee is worth paying

Money orders make sense when you need a traceable payment method but don't have a checking account or don't want to mail a check. They're useful for paying rent, utilities, court fees, or bail bonds — places that need proof of payment and won't take cash. The fee is small enough that it's usually not a barrier for these purposes.

Money orders are also safer than cash if you're mailing payment. If a money order is lost or stolen, you can file a claim and get your money back. Cash cannot be recovered. For amounts under $500, the $1.45 fee is often worth that protection.

Tracking and replacing a lost money order

USPS gives you a receipt when you buy a money order. Keep this receipt — it has a serial number that lets you track the money order and file a claim if it goes missing. If the recipient says they never got it, you can contact USPS with the receipt and serial number to learn about it was cashed.

If the money order was lost or stolen before it reached the recipient, USPS can issue a replacement. You'll need the original receipt and proof that the money order wasn't cashed. There is no additional fee for a replacement, but the process takes time — usually several weeks. This is another reason to keep your receipt in a safe place.

Frequently Asked Questions

Can I buy a USPS money order online?

No. USPS money orders must be purchased in person at a post office. You cannot order one online or by phone. You have to visit a branch during business hours and complete the transaction with a clerk.

What if I need to send more than $1,000?

You can buy multiple money orders. If you need to send $2,500, you could buy two money orders for $1,000 each and one for $500. Each one has its own fee, so the total cost would be $2,500 plus $4.45 in fees. Wire transfers or cashier's checks may be cheaper for large amounts.

Do I have to pay the fee even if the money order isn't cashed?

Yes. The fee is charged when you buy the money order, not when it's cashed. If the recipient never cashes it, you've still paid the fee. You can request a refund from USPS if you have the receipt and the money order was never cashed, but you'll need to bring it back to the post office.

Can I get a refund if I change my mind?

Yes, if you haven't given the money order to anyone yet. Bring it back to the post office with your receipt, and they'll refund the full amount including the fee. Once you've handed it to the recipient or mailed it, you cannot get a refund — you can only file a claim if it's lost or stolen.

Is the USPS money order fee tax deductible?

Generally no, unless you're using the money order for a business expense that is itself deductible. For personal payments like rent or utilities, the fee is not deductible. Consult a tax professional if you're unsure about your specific situation.