What You Pay for a Money Order and Where to Buy One
Money order costs range from about 70 cents to $10, depending on where you buy it and how much money you're sending
A money order is a prepaid piece of paper that works like a check — the person who receives it can cash it or deposit it. You pay the full amount upfront plus a fee. The fee itself is what varies most. A grocery store or convenience store typically charges $0.70 to $2 for a money order under $1,000. A bank or credit union usually charges $5 to $10 for the same amount. The post office falls in the middle, around $1.45 to $2.45 depending on the amount.
The amount you can send in a single money order also varies by where you buy it. Most places cap a single money order at $500 to $1,000. If you need to send more, you buy multiple money orders, which means you pay multiple fees. A cashier's check, by contrast, usually has one flat fee regardless of the amount you're sending, so it can be cheaper if you're moving a large sum.
Key Takeaways
- Money order fees at convenience stores and grocery stores are typically under $2, while bank fees run $5 to $10 for the same service.
- The post office charges $1.45 to $2.45 depending on whether you're sending the money domestically or internationally.
- Most money orders have a maximum amount per order of $500 to $1,000, so sending large sums requires buying multiple orders and paying multiple fees.
- A cashier's check may cost less overall if you're sending more than $1,000 because you pay one fee instead of multiple fees for multiple money orders.
Where to buy a money order and typical costs
You can buy a money order at a grocery store, convenience store, pharmacy, bank, credit union, or post office. Grocery stores and convenience stores are the cheapest option — expect to pay $0.70 to $2 per money order. Walmart and similar retailers often charge under $1. These places are also the most convenient because they have long hours and many locations.
Banks and credit unions charge more — usually $5 to $10 per money order — but they may waive the fee if you have a checking account with them. The post office charges $1.45 for a domestic money order up to $500, and $2.45 for one from $500.01 to $1,000. International money orders cost more, around $9.45 to $15.45 depending on the destination country.
Some places have limits on how many money orders you can buy at once or per day. A convenience store might sell you five at a time; a bank might require you to come back on different days if you need more than a few. Call ahead if you need to buy several.
How the fee compares to a cashier's check
A cashier's check typically costs $8 to $15 per check, regardless of the amount. If you're sending $500 or less, a money order from a convenience store is cheaper. If you're sending $2,000, you'd need four money orders at $1 each ($4 in fees) versus one cashier's check at $10 — the money order is still cheaper, but you have to buy four separate orders.
The real advantage of a cashier's check appears when you're sending a large amount and want to do it in one transaction. A cashier's check for $5,000 costs one $10 to $15 fee. Four money orders for $1,250 each would cost you $4 to $8 in fees at a convenience store, but you'd have to carry four separate documents and the recipient would have to deposit or cash four separate items. Some landlords or large vendors prefer one cashier's check for this reason.
What information you need to buy a money order
You need to know the name of the person or business receiving the money (the payee), the amount you're sending, and your own name. You'll also need the cash or debit card to pay for both the money order amount and the fee. Most places won't let you charge a money order to a credit card.
The seller will fill in the payee name and amount, and you'll sign the money order. Keep your receipt — it has a tracking number in case the money order is lost or stolen. Some places ask for your ID, though not all do. If you're sending it to someone you don't know well, ask them for their exact legal name so you spell it correctly on the payee line.
Money order limits and when you might need multiple orders
A single money order maxes out at $500 to $1,000 depending on where you buy it. The post office caps domestic money orders at $1,000. Most convenience stores and grocery stores cap them at $500 or $1,000. If you need to send $3,000, you're buying at least three separate money orders.
Each money order costs its own fee. Three money orders at a convenience store ($1 each) cost $3 in fees total. Three money orders at a bank ($10 each) cost $30. This is why a cashier's check becomes more attractive for large amounts — you pay one fee instead of three or four. However, if you're sending money to multiple people, you may need multiple money orders anyway, so the fee structure doesn't change your decision.
How long a money order is valid and what happens if you lose it
A money order doesn't expire, but the issuer (the post office, bank, or store) may stop honoring it after a set period — usually one to three years. The post office honors domestic money orders indefinitely, but some banks stop honoring theirs after two or three years. Check with the issuer about their policy before you buy.
If a money order is lost or stolen before the recipient cashes it, you can request a refund or replacement. You'll need your receipt with the tracking number. The process takes time — usually two to eight weeks — and some issuers charge a fee to replace it, around $15. This is another reason to keep your receipt and send the money order by mail with tracking or hand it directly to the recipient rather than leaving it in an unsecured place.
Money order versus other payment methods
A money order is safer than cash because it can only be cashed by the person whose name is on it. It's cheaper than a cashier's check for small amounts. It's faster than a wire transfer in some cases because you can buy it when ready and hand it over or mail it the same day. However, a wire transfer is faster if the recipient needs the money in their account within hours, and a personal check costs nothing if you have a checking account.
If you're paying a bill online, a bank transfer or credit card is usually free and when ready. If you're paying someone in person or by mail and they won't take a personal check, a money order is a middle ground between the security of a cashier's check and the low cost of cash.
Frequently Asked Questions
Can I get my money back if I buy a money order and don't use it?
Yes. Take the unused money order and your receipt to the place where you bought it. They'll refund the full amount plus the fee. Some places may charge a small cancellation fee, usually $1 to $3, so you won't get back the entire fee you paid. Call ahead to confirm their policy.
What's the difference between a money order and a wire transfer?
A wire transfer moves money directly from one bank account to another and usually arrives within hours. A money order is a physical document you mail or hand over, and the recipient has to deposit or cash it themselves. Wire transfers cost $15 to $30 and require both parties to have bank accounts. Money orders cost under $2 to $10 and work with cash.
Do I need a bank account to buy a money order?
No. You can buy a money order at a convenience store, grocery store, or post office with cash or a debit card. You don't need to be a customer of that business. However, some banks offer lower fees to account holders, so if you have a bank account, ask whether they discount money orders for members.
Can someone else cash my money order if I lose it?
Not if your name is on it correctly. A money order made out to a specific person can only be cashed by that person (or someone they sign it over to). If you lose it before delivering it, contact the issuer with your receipt and tracking number to report it lost and request a replacement.
This guide is for general information only and is not medical, financial, legal, or other professional advice. For decisions specific to your situation, consult a qualified professional. See our Editorial Policy.