Money order fees vary by where you buy them, from about $0.50 to $5 per order
A money order is a prepaid document that works like a check but doesn't require a bank account. You pay the full amount upfront — the face value of the money order plus a fee — and the issuer guarantees the money. The fee is what you pay for that may provide and for the issuer to process it.
Where you buy the money order determines the cost. The U.S. Postal Service charges between $1.45 and $5.00 depending on the amount. Walmart charges $0.50 to $1.00. Western Union and MoneyGram charge $1.00 to $5.00. Banks and credit unions often charge $5.00 to $10.00, though some waive the fee for members. Convenience stores and check-cashing businesses typically charge $1.00 to $3.00.
Money orders also have limits on how much you can send in a single order. The USPS caps them at $1,000. Most other issuers allow up to $1,000 per order as well, though some go higher. If you need to send more than the limit, you can buy multiple money orders.
Key Takeaways
- Money order fees range from $0.50 to $10.00 depending on the issuer and the amount being sent.
- The U.S. Postal Service charges $1.45 to $5.00; Walmart charges $0.50 to $1.00; banks typically charge $5.00 to $10.00.
- Most money orders have a $1,000 limit per order, so sending larger amounts requires buying multiple orders.
- You pay the fee when you buy the money order, not when the recipient cashes it.
How money order costs compare to cashiers checks
Money orders and cashiers checks both cost money to obtain, but the amounts and where you get them differ. A cashiers check typically costs $5.00 to $15.00 and is issued only by banks and credit unions. A money order costs less — usually $0.50 to $5.00 — and is available at many more locations.
Money orders are better for smaller amounts and when you need to buy one quickly at a nearby store. Cashiers checks are better when you need to send a large amount or when the recipient specifically requests one. Some landlords and car dealers prefer cashiers checks because they are harder to counterfeit and come from a bank directly.
Where to buy a money order and typical fees
The U.S. Postal Service sells money orders at any post office. Fees are $1.45 for orders up to $500 and $5.00 for orders from $500.01 to $1,000. You need cash or a debit card to buy one; credit cards are not accepted.
Walmart sells money orders at the customer service desk in most locations. The fee is $0.50 for orders up to $1,000. This is usually the cheapest option available.
Western Union and MoneyGram sell money orders at thousands of retail locations — grocery stores, pharmacies, check-cashing businesses, and convenience stores. Fees vary by location and amount but typically range from $1.00 to $5.00. You can search their websites to find a nearby location and see the exact fee before you go.
Banks and credit unions issue money orders, though not all do. Fees range from $5.00 to $10.00, but many banks waive the fee if you have a checking account with them. Call your bank to ask whether they issue money orders and what the fee is.
What information you need to buy a money order
When you buy a money order, you will need to provide the name of the person or business receiving the money. This is called the payee. You will write or print this name on the money order itself.
You do not need to show identification to buy a money order at most retailers. However, the USPS and some banks may ask for ID. If you are buying a money order for more than $3,000, federal law requires the issuer to record your ID information.
You will also receive a receipt. Keep this receipt until the money order is cashed. The receipt has a tracking number that lets you check whether the money order has been deposited and confirm the amount.
Money order limits and when you need multiple orders
Most money order issuers cap each order at $1,000. The USPS, Walmart, Western Union, and MoneyGram all use this limit. If you need to send $2,500, you would buy three money orders: two for $1,000 each and one for $500.
Some banks allow higher limits — up to $5,000 or more per order — but you have to ask. Check with your bank or credit union about their specific limit before you go in to buy one.
Buying multiple money orders costs more in fees. If you buy three $1,000 money orders at Walmart, you pay $1.50 in total fees ($0.50 each). At the USPS, you would pay $15.00 ($5.00 each). This is one reason to compare where you buy them when you are sending a large amount.
How to track a money order after you send it
When you buy a money order, you receive a receipt with a tracking number printed on it. This number lets you confirm that the money order was cashed and for how much.
To track a USPS money order, visit the USPS website and enter the tracking number. You can also call 1-800-222-1811. Western Union and MoneyGram both have online tracking tools on their websites where you enter the reference number from your receipt.
Tracking tells you whether the money order has been cashed but not who cashed it or when. If the recipient says they never received it, the tracking number proves you sent it. If it has not been cashed after 30 days, contact the issuer about putting a stop on it and getting a refund.
Frequently Asked Questions
Can I get a refund if I buy a money order by mistake?
Yes, but you need the original receipt. Most issuers will refund the full amount minus a small fee, usually $1.00 to $2.00. You must request the refund before the money order is cashed. If it has already been cashed, you cannot get a refund.
What happens if a money order gets lost in the mail?
Use the tracking number on your receipt to check whether it has been cashed. If it has not been cashed after 30 days, contact the issuer and request a replacement or refund. You will need to show your receipt and may have to sign a form stating the money order was lost.
Is there a fee if the person receiving the money order cashes it?
No. The recipient does not pay any fee to cash a money order. They can cash it at a bank, credit union, check-cashing business, or the issuer's location. The fee you paid upfront covers the entire transaction.
Can I buy a money order with a credit card?
Most retailers accept cash or debit cards. The USPS does not accept credit cards for money orders. Some banks and Western Union locations may accept credit cards, but fees may be higher. Call ahead to confirm what payment methods are accepted where you plan to buy one.
Do I need to show ID to buy a money order?
Most retailers do not require ID for money orders under $3,000. The USPS and some banks may ask for ID regardless of amount. If you are buying a money order for $3,000 or more, federal law requires the issuer to record your ID information.