Where to buy a money order
You can buy a money order at most banks, credit unions, post offices, grocery stores, and convenience stores. The easiest route depends on where you already do business. If you have a bank account, your bank will sell you one during business hours — no account needed at many banks, though some charge slightly less for customers. Post offices sell them at every location during regular hours. Grocery stores and pharmacies like Walmart, Target, and CVS sell money orders at their customer service desk, usually during store hours.
Convenience stores and check-cashing businesses also sell money orders, though fees tend to run higher than banks or post offices. Call ahead if you're going somewhere unfamiliar — not every location stocks them, and some have daily limits on how many they'll sell to one person. If you need one outside normal business hours, a 24-hour grocery store or pharmacy is your best bet.
Key Takeaways
- Money orders are sold at banks, post offices, grocery stores, pharmacies, and convenience stores, with post offices and banks usually charging the lowest fees.
- You will need cash or a debit card and the payee's exact name and address before you arrive.
- Fees range from about $0.50 to $2.00 depending on where you buy and the amount, with post offices typically charging less than convenience stores.
- The entire process takes 5 to 10 minutes once you're at the counter, and you receive the money order immediately.
What to bring and how much it costs
Bring cash or a debit card. Most places accept both, though some convenience stores take cash only. You do not need an ID or bank account. Bring the exact name and mailing address of the person or business you're paying — the seller will ask you to spell it out, and mistakes mean the money order won't work.
Fees vary by location and amount. The U.S. Postal Service charges between $1.45 and $2.00 depending on whether the money order is domestic or international. Banks typically charge $0.50 to $1.50. Grocery stores and pharmacies usually fall in the $0.75 to $1.50 range. Convenience stores and check-cashing businesses often charge $2.00 or more. The amount you're sending does not usually change the fee — a $50 money order costs the same as a $500 one at most sellers.
The step-by-step process at the counter
Tell the cashier you want a money order and how much for. They will give you a form to fill out or fill it out with you. You will write or they will write the payee's name (the person receiving the money), your name as the purchaser, and sometimes your address. Double-check the payee's name and address for spelling — this is the most common mistake that causes problems later.
Hand over the cash or card. The cashier will take the amount of the money order plus the fee. You will receive the money order itself, usually a two-part form with a stub for your records. Keep the stub until you know the money order was received and cashed. The whole transaction takes 5 to 10 minutes. You can use the money order immediately — there is no waiting period.
How to send it safely
Write the money order number down before you mail it. If it gets lost in the mail, you will need that number to file a claim with the seller. Mail it in a regular envelope with a stamp — money orders do not require special postage or handling. If you're mailing it to someone you don't know well or sending a large amount, consider using certified mail with signature confirmation so you have proof of delivery.
Never send a blank or partially filled money order through the mail. Fill in all fields before mailing. If you're handing it to someone in person, the same rule applies — complete it fully so there's no chance of it being altered or misused.
What to do if something goes wrong
If the money order is lost or stolen before it reaches the payee, contact the seller where you bought it. Bring your receipt and the money order number. Most sellers will file a claim on your behalf, though the process can take 30 to 90 days. During that time, the funds are frozen and you cannot get a refund until the claim is resolved. This is why keeping your receipt and stub is important.
If you filled out the money order incorrectly, some sellers will cancel it and issue a new one, though a few charge a small fee. If the payee says they never received it, ask them to check with their bank — sometimes money orders are deposited but take a few days to show up. If it's been more than two weeks and they still don't have it, file a trace claim with the seller.
Money orders versus other payment methods
Money orders are safer than cash because they can be traced and replaced if lost. They're cheaper than wire transfers, which typically cost $15 to $50. They work when the payee won't take a personal check or when you don't have a bank account. They're slower than electronic transfers — expect 3 to 5 business days for mail delivery plus processing time on the receiving end.
If you need the money to arrive the same day, a wire transfer or in-person payment is faster. If cost matters most and you have a bank account, an electronic transfer or check is usually free. If you need a record of payment and the payee won't take anything else, a money order is the right choice.
Limits on money order amounts
Most sellers cap money orders at $1,000 per order. The U.S. Postal Service allows up to $1,000 for domestic money orders. Banks and grocery stores typically follow the same limit. If you need to send more than $1,000, you can buy multiple money orders, but each one costs a separate fee. For very large amounts, a wire transfer or cashier's check is more practical.
Some sellers have daily limits on how many money orders they'll sell to one person — usually 5 to 10 per day. This is a fraud prevention measure. If you need more than that, try a different location or come back the next day.
Frequently Asked Questions
Can I buy a money order without an ID?
Yes. Most sellers do not ask for ID when you buy a money order. You need cash or a debit card and the payee's name and address. Some check-cashing businesses may ask for ID, but banks, post offices, and grocery stores typically do not.
What happens if I write the wrong name on the money order?
If you catch the mistake before you leave the counter, ask the seller to cancel it and issue a new one. If you've already mailed it, the payee can sometimes deposit it anyway if the name is close enough, but it's not may provide. Contact the seller immediately if you realize the error after leaving.
How long does a money order take to arrive in the mail?
Mail delivery typically takes 3 to 5 business days depending on distance. Once the payee receives it, they can deposit it at their bank, which usually takes 1 to 3 business days to clear. Total time is usually one to two weeks from when you mail it.
Can I get my money back if I change my mind?
Yes, but only if you haven't mailed it yet. Return to the seller with your receipt and the unused money order. They will refund your money minus the fee. Once it's mailed, you cannot cancel it — you can only file a claim if it's lost.
Is a money order the same as a cashier's check?
No. A cashier's check is drawn from a bank account and usually costs $5 to $15. A money order is prepaid and costs $0.50 to $2.00. Both are safer than personal checks, but money orders are cheaper and available at more locations.