The most common places to buy a money order
You can buy a money order at a bank, credit union, post office, grocery store, or convenience store. Most of these locations are within a few miles of your home, and the process takes less than five minutes. The cost ranges from about 50 cents to $5 depending on where you go and the amount you're sending — post offices and banks tend to be cheaper than convenience stores.
Not every location offers money orders, so calling ahead saves a trip. Many banks require you to have an account with them, though some will sell to non-customers for a higher fee. Credit unions almost always require membership. Grocery stores and convenience stores rarely turn anyone away, but their fees are usually higher and they may have limits on the amount you can purchase in a single transaction.
You'll need cash or a debit card to buy a money order. Most places don't accept credit cards for this transaction. Bring the amount you want to send plus the fee — if you're sending $500 and the fee is $2, bring $502.
Key Takeaways
- Post offices and banks offer the lowest fees, usually under $2, but banks may require an account and post offices have limited hours.
- Grocery stores and convenience stores are open late and don't require membership, but charge $3 to $5 per money order.
- You need cash or a debit card and must know the exact amount you're sending before you arrive.
- Call ahead to confirm the location sells money orders and ask about their fee and maximum amount per transaction.
Post offices and banks: lowest cost, more restrictions
The U.S. Postal Service charges between 50 cents and $1.30 per money order depending on the amount. A post office will sell to anyone without an account. Hours vary by location — many close by 5 p.m. on weekdays and have limited Saturday hours, so plan accordingly if you work standard business hours.
Banks charge $1 to $3 per money order. Most require you to have a checking or savings account with them. Some banks will sell to non-customers but charge a higher fee — ask when you call. Credit unions typically charge $1 to $2 but require membership. If you already bank somewhere, this is usually your cheapest option.
Grocery stores and convenience stores: convenience over cost
Supermarkets like Walmart, Target, and Kroger sell money orders at customer service desks. Fees run $3 to $5 per money order. They're open early and close late, often until 10 p.m. or later, which makes them practical if you can't get to a bank or post office during business hours. You don't need an account or membership.
Convenience stores like 7-Eleven, Circle K, and Murphy USA also sell money orders, usually for $3 to $5. They're open 24 hours in many locations. The trade-off is that you'll pay more than at a bank or post office, and some stores limit the maximum amount per transaction — often $500 or $1,000.
How to find a location that sells money orders
Call ahead rather than showing up. Ask three things: Do you sell money orders? What's your fee? What's the maximum amount per transaction? This takes one minute and prevents a wasted trip.
If you don't know which stores are near you, search online for "money order near me" or check the websites of major chains. The U.S. Postal Service has a location finder at usps.com. Walmart's website lets you search by zip code. Your bank's website usually has a branch locator.
If you're in a rural area with few options, ask your bank if they can order a money order for you even if they don't keep them in stock. Some will do this for a small fee and have it ready the next business day.
What to bring and what to expect
Bring cash or a debit card. Have the exact amount ready — the payee's name (the person or business receiving the money), and your own name. You'll fill out a form with this information. The cashier will take your payment, give you the money order, and keep a receipt for their records.
The whole transaction usually takes two to five minutes. The money order is your proof of payment, so keep your receipt until the payee confirms they received it. If the money order is lost or stolen before it's cashed, you can request a refund or replacement, but you'll need your receipt and the transaction number.
When a money order doesn't make sense
If you're sending money to someone you know well and trust, a personal check or bank transfer is often simpler and cheaper. If you're sending a large amount — over $1,000 — a wire transfer through your bank is faster and more secure, though it costs $15 to $30. If you're paying a bill online, most billers accept direct payment from your bank account at no cost.
Money orders are most useful when the payee won't accept a personal check, when you don't have a bank account, or when you need a paper record of payment for a transaction with someone you don't know well.
Frequently Asked Questions
Can I buy a money order without a bank account?
Yes. Grocery stores, convenience stores, and the post office will sell to anyone with cash or a debit card. You don't need to be a customer or member. Banks and credit unions usually require an account, but some banks will sell to non-customers for a higher fee.
What's the maximum amount I can send with a money order?
Most money orders cap at $1,000 per order. If you need to send more, you can buy multiple money orders. Some convenience stores limit you to $500 per transaction, so ask before you buy.
Do I need ID to buy a money order?
Most places don't require ID for small amounts under $1,000. For larger amounts, some locations may ask for ID. Call ahead if you're buying a high-value money order and want to confirm their policy.
How long does it take for the payee to receive the money?
Once the payee deposits or cashes the money order, it clears like a check — usually one to three business days. The time it takes to reach them depends on how you send it (mail, hand delivery, etc.), not on the money order itself.
What if I make a mistake filling out the money order?
Don't write on it. Go back to where you bought it and ask for a replacement. Most places will issue a new one if you bring your receipt and the incorrect money order. There may be a small fee, usually $1 to $2.