Post Office money order fees are based on the amount you're sending
The U.S. Postal Service charges a flat fee for each money order, and that fee depends on how much money the order is for. As of 2024, USPS charges $1.45 for money orders up to $500, and $1.95 for money orders between $500.01 and $1,000. These are the only two price tiers — there's no charge for smaller amounts or discounts for larger ones within each bracket.
The fee is separate from the amount you're sending. If you buy a $100 money order, you pay $1.45 plus the $100 itself. If you buy a $750 money order, you pay $1.95 plus the $750. You cannot send more than $1,000 in a single money order through USPS, so if you need to send more, you'll have to buy multiple orders and pay multiple fees.
Prices can change, and USPS does adjust them periodically. Before you go to the post office, you can call ahead or check the USPS website to confirm the current fee. Many post office locations also display the fee on a sign or in their lobby.
Key Takeaways
- USPS charges $1.45 for money orders up to $500 and $1.95 for money orders from $500.01 to $1,000.
- The fee is added to the face value of the money order — if you send $200, you pay $200 plus the fee.
- You cannot send more than $1,000 in a single USPS money order, so larger amounts require multiple orders and multiple fees.
- Post office fees are set by USPS and are the same at every location, though some banks and retailers offer money orders at different prices.
- Calling your local post office or checking USPS.com before you go confirms the current fee and whether the location has money orders in stock.
How the fee compares to other places that sell money orders
Banks, credit unions, and retailers like Walmart and Western Union also sell money orders, and their fees often differ from USPS. Some banks charge nothing for money orders if you have a checking account with them. Walmart typically charges less than the post office for smaller amounts — usually around $0.70 to $0.88 for orders under $1,000 — but the exact price varies by location and changes over time.
Western Union money orders cost more than USPS, often $1.50 to $2 or higher depending on the amount and where you buy them. If you're sending money regularly or in large amounts, comparing fees across these options can save you money. However, post office money orders are widely recognized and accepted, which matters if the recipient or payee has a preference.
What you need to bring to buy a money order
You'll need cash or a debit card to buy a money order at the post office. USPS does not accept credit cards for money order purchases at most locations, though some individual post offices may have different policies — it's worth calling ahead if you plan to pay with a card. You do not need an ID to buy a money order, and there's no limit on how many you can purchase at once.
You should also know the name of the person or business the money order is for (the payee) before you arrive. The postal clerk will fill in some of the information, but you'll typically write the payee's name yourself on the money order. Bring the exact amount you want to send plus the fee in cash, or bring enough cash to cover it and receive change.
How to fill out a money order at the post office
The postal clerk will give you a blank money order form when you request one. You fill in the payee's name (who the money is going to) in the "Pay to the Order of" field. Write clearly in pen so the recipient can read it. You'll also write your name and address in the "From" section so the recipient knows who sent it.
Some money orders have a memo line where you can write a note — for example, "rent for January" or an account number if you're paying a bill. This is optional but useful if the recipient needs to know what the payment is for. Once you've filled it out, the clerk will process the payment, give you a receipt, and hand you the completed money order. Keep the receipt until the money order is cashed, in case you need to trace it or file a claim.
What happens if a money order is lost or never cashed
If you lose a money order or the recipient says they never received it, you can file a claim with USPS to get your money back. You'll need the receipt you received when you bought the money order — this is why keeping it matters. The claim process takes time, usually several weeks, and USPS will investigate whether the money order was cashed.
If the money order was cashed by someone other than the intended recipient, USPS can sometimes recover the funds, though this depends on the circumstances. If it was never cashed at all, USPS can issue a refund. You cannot cancel a money order once it's been issued, so if you change your mind about sending it, your only option is to wait and see if it's cashed, then file a claim if it isn't.
Money order limits and when you might need multiple orders
The $1,000 maximum per money order is a hard limit at USPS. If you need to send $2,500, you'll buy three money orders: two for $1,000 each and one for $500. You'll pay the fee for each one, so your total cost would be $1,000 + $1,000 + $500 plus $1.95 + $1.95 + $1.45 in fees. This adds up quickly for large transfers, which is one reason some people use wire transfers or cashier's checks for bigger amounts.
There's no daily or weekly limit on how many money orders you can buy, so you can purchase multiple orders in one visit if you need to. However, if you're sending a very large amount, it's worth exploring alternatives like a cashier's check from your bank or a wire transfer, both of which may be cheaper or more practical depending on the situation.
Frequently Asked Questions
Can I buy a money order online from USPS and pick it up at the post office?
No. USPS does not sell money orders online. You must go to a post office location in person to purchase one. Some banks and retailers offer online ordering with in-store pickup, but USPS does not have this option.
Do I need to show ID to buy a money order?
No. USPS does not require identification to purchase a money order. You only need to pay the fee and the amount you're sending, and provide the payee's name.
What if I make a mistake filling out the money order?
If you make a mistake before you pay, tell the postal clerk and they'll give you a new blank form. If you've already paid and made a mistake, you cannot cancel the money order. Your only option is to contact the recipient and ask them to return it uncashed so you can buy a new one.
Is a money order safer than sending cash in the mail?
Yes. A money order can only be cashed by the person whose name is written as the payee, so if it's lost or stolen, the finder cannot cash it. Cash has no such protection. Money orders also leave a paper trail, which can be useful if there's a dispute about whether payment was received.
Can I get a refund if I change my mind about sending a money order?
Only if the money order hasn't been cashed yet. You cannot cancel a money order, but if the recipient hasn't cashed it, you can file a claim with USPS and request a refund. This process takes several weeks and requires your receipt.