Where to find money orders in your area

Money orders are sold at most grocery stores, pharmacies, and convenience stores in the checkout area. The most reliable places are Western Union and MoneyGram, which operate kiosks inside retail locations — you can search their websites by ZIP code to find the nearest one. Banks and credit unions almost always sell them to account holders, and some sell them to non-members for a small fee.

Post offices sell money orders at every location during business hours. Walmart and Target sell them at customer service desks. Gas stations, check-cashing stores, and some laundromats also carry them, though availability varies by location. If you need one outside normal business hours, 24-hour Walmart locations and some gas stations are your best bet.

Before you go, call ahead or check the store's website. Not every location stocks them, and some have limits on how many you can buy in one day or the maximum amount per order.

Key Takeaways

  • Western Union and MoneyGram kiosks are the most reliable option because they operate in thousands of retail locations and you can find one by ZIP code on their websites.
  • Post offices, banks, grocery stores, and Walmart customer service desks all sell money orders, but hours and fees vary by location.
  • Fees typically range from $0.65 to $2.50 per money order depending on where you buy it and the amount you're sending.
  • You'll need cash or a debit card, the recipient's name and address, and your own name and address to complete the purchase.
  • Money orders have maximum amounts — usually $500 to $1,000 per order — so larger payments require multiple orders.

What to bring and what it will cost

Bring cash or a debit card. Most places accept both, though some smaller retailers only take cash. You'll need the recipient's full name and mailing address, and you'll provide your own name and address as the sender. Have the exact amount ready — you pay for the money order itself plus a fee.

Fees vary widely. Post offices charge $1.45 for amounts up to $500 and $1.95 for $500.01 to $1,000. Western Union and MoneyGram typically charge $0.65 to $2.50 depending on the amount and location. Banks may charge $5 to $10 or waive the fee for account holders. Walmart usually charges around $0.88. Call the specific location before you go if the fee matters to your budget.

Money orders have limits. Most cap out at $500 or $1,000 per order. If you need to send more, you'll buy multiple orders. Some places limit how many you can buy in one transaction — Western Union, for example, may cap you at 10 per day.

How the transaction actually works

Walk up to the counter with your cash or card and tell the clerk you want a money order. They'll ask for the recipient's name and address, and your name and address. Write these down clearly or let them write them — mistakes here can delay or prevent delivery. They'll enter the amount, calculate the total with the fee, and take your payment.

The clerk will print the money order in front of you. Check it immediately for accuracy: recipient name, amount, and your name as sender. Keep the receipt they give you — it has a tracking number you can use to confirm the money order was cashed. The money order itself goes in an envelope and you mail it or hand-deliver it to the recipient.

The whole process takes five to ten minutes. If the line is long, budget more time. Some locations get busy during lunch hours or on Fridays.

Money order limits and what to do if you need to send more

A single money order cannot exceed $500 to $1,000 depending on the issuer. If you need to send $2,000, you buy two $1,000 money orders. You can buy multiple orders in one trip, though some retailers cap the number per transaction. Western Union limits you to 10 per day; post offices typically allow more.

If you're sending a large amount, consider whether a money order is the right tool. Bank transfers are free and instant for amounts over $1,000. Cashier's checks from your bank work for any amount and cost $5 to $15. Wire transfers are faster but more expensive. Money orders make sense for smaller amounts or when the recipient doesn't have a bank account.

Tracking and proof of payment

Keep your receipt. It shows the money order number, amount, recipient, and date issued. If the money order never arrives or the recipient says they didn't get it, you can use this number to file a claim with the issuer. Western Union and MoneyGram let you check status online or by phone. Post office money orders can be tracked through USPS.

The claim process takes time — usually 30 to 60 days. The issuer will investigate whether the money order was cashed. If it wasn't, they'll refund you. If it was cashed by someone other than the intended recipient, the investigation is more complex. This is why keeping the receipt and confirming delivery with the recipient matters.

When a money order doesn't make sense

Money orders cost money and take time to mail. If you're sending to someone with a bank account, a free transfer through your bank is faster and cheaper. If you're paying a bill, check whether the company accepts online payment or automatic withdrawal — both are free. If you're sending internationally, money orders are slow and expensive; wire transfers or international money transfer services work better.

Money orders are most useful when the recipient doesn't have a bank account, when you need a paper trail for a large cash transaction, or when you're paying someone who won't accept a personal check. They're also useful if you don't have a bank account yourself and need to send money safely without carrying cash.

Frequently Asked Questions

Can I buy a money order with a credit card?

Most places don't accept credit cards for money orders because they're considered cash equivalents. Cash and debit cards are standard. Some banks may allow credit card purchases if you have an account with them, but call first to confirm.

What happens if I write the wrong name on the money order?

If you catch the mistake before you leave the counter, ask the clerk to void it and issue a new one. If you've already left, contact the issuer with your receipt number and explain the error. They may be able to stop payment, but this takes time and isn't may provide. It's easier to get it right the first time.

How long does a money order take to arrive in the mail?

A money order mailed through USPS typically arrives in 3 to 7 business days depending on distance. It's not faster than regular mail. If speed matters, hand-deliver it or use a bank transfer instead.

Can I get my money back if I change my mind?

Yes, but only if you haven't mailed it yet. Take the money order and receipt back to the place where you bought it and ask for a refund. They'll void the order and return your money minus the fee. Once it's mailed and cashed, the transaction is final.

What if the money order gets lost in the mail?

This is why you keep the receipt. Contact the issuer with your receipt number and they'll investigate. If the money order was never cashed, they'll issue a replacement or refund. If it was cashed, you'll need to work with the recipient to figure out what happened.