The fastest 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 are within a few miles of your home. Banks and credit unions usually charge $1 to $10 per money order. The U.S. Postal Service charges between $1.45 and $6.45 depending on the amount. Grocery stores and convenience stores like 7-Eleven or Circle K typically charge $1 to $3. Walmart and Target sell them at customer service desks for around $1 to $3.

The trade-off is speed versus cost. A bank or credit union takes 10 to 15 minutes if you have an account there; a post office or grocery store takes about the same but you don't need an account. Convenience stores are fastest — usually under 5 minutes — but charge slightly more. All of these places will be open during normal business hours; some grocery stores and convenience stores stay open late or 24 hours.

You'll need cash or a debit card to buy a money order. Most places don't accept credit cards. Bring the amount you want to send plus the fee. You'll also need to know the recipient's name and address before you arrive, because you'll fill that in at the counter.

Key Takeaways

  • Banks, credit unions, the post office, grocery stores, and convenience stores all sell money orders, and most charge between $1 and $10 per order.
  • You need cash or a debit card, the recipient's name and address, and the amount you want to send before you go to the counter.
  • Convenience stores are fastest but may charge more; banks and credit unions are cheapest if you have an account there.
  • The post office is reliable and widely available, with fees based on the amount you're sending.

Banks and credit unions

If you have a checking or savings account, your bank or credit union is usually the cheapest option. Most charge $1 to $5 per money order, and some waive the fee for customers with certain account types. Call ahead or check your bank's website to confirm the fee and whether they're currently in stock — some smaller branches occasionally run out.

You'll need your account number or debit card and a valid ID. The teller will ask for the recipient's name, address, and the amount. The whole process takes about 10 to 15 minutes. If you're not a customer, most banks will still sell you a money order but charge a higher fee — usually $5 to $10.

U.S. Postal Service locations

Post offices sell money orders during regular business hours, and fees are based on how much you're sending: $1.45 for amounts up to $500, and $6.45 for $500.01 to $1,000. You don't need an account or ID, just cash or a debit card. Find your nearest post office at usps.com by entering your ZIP code.

Bring the recipient's name and address. The postal clerk will fill out the money order with you and give you a receipt. Keep the receipt until the money order is cashed — it's your proof of purchase and you'll need it if something goes wrong. Most post offices are open Monday through Friday and have limited Saturday hours; very few are open on Sunday.

Grocery stores and supermarkets

Walmart, Target, Kroger, Safeway, and most regional grocery chains sell money orders at the customer service desk. Fees are typically $1 to $3, making them cheaper than banks. You don't need an account, just cash or a debit card. The process is quick — usually 5 to 10 minutes — and many grocery stores are open early and close late.

Walmart caps money orders at $1,000 per transaction. Target and most grocery stores have similar limits. Ask at the customer service desk if you're unsure about the maximum. Bring the recipient's name and address, and keep your receipt.

Convenience stores and gas stations

7-Eleven, Circle K, Speedway, and similar convenience stores sell money orders for $1 to $3. They're open late or 24 hours in many locations, which makes them useful if you need a money order outside normal business hours. The transaction is fast — usually under 5 minutes. You don't need an account or ID.

Convenience stores typically limit money orders to $500 or $1,000 per transaction. Check with the clerk about the limit before you hand over your cash. Keep your receipt as proof of purchase.

Online money order services

Some companies let you buy a money order online and pick it up at a nearby location, or have it mailed to you. MoneyGram and Western Union operate through thousands of agent locations including grocery stores, pharmacies, and check-cashing shops. You pay online with a debit card or bank account, then pick up the physical money order at the location you choose.

This method takes longer — usually one to three business days for pickup — but it's useful if you want to avoid carrying cash or if you're buying multiple money orders. Fees vary by location and amount, typically $1 to $5. Visit moneygram.com or westernunion.com to find an agent near you and check fees before you buy.

What to bring and what to expect

Bring cash or a debit card, the recipient's full name and mailing address, and the amount you want to send. Have your ID ready if you're buying from a bank or credit union, though most other places don't require it. If you're sending the money order to a business, use their official mailing address, not a P.O. box, unless they specifically ask for the P.O. box.

The clerk will ask you to fill out or will fill out the money order with the recipient's name and address, your name and address, and the amount. You'll pay the amount plus the fee. You'll receive the money order and a receipt. Keep the receipt until the money order is cashed — if it's lost or stolen, you'll need it to file a claim and get a replacement.

Frequently Asked Questions

Can I buy a money order with a credit card?

Most places don't accept credit cards for money orders. Banks, post offices, and convenience stores typically require cash or a debit card. Some online money order services accept credit cards, but you'll pay a processing fee on top of the money order fee.

What's the maximum amount I can send in one money order?

Most places cap money orders at $500 to $1,000 per order. If you need to send more, you can buy multiple money orders. The post office allows up to $1,000 per money order. Check with your specific location if you're sending a large amount.

How long does it take to buy a money order?

Convenience stores and grocery stores are fastest — usually 5 to 10 minutes. Banks and post offices take 10 to 15 minutes. Online services take one to three business days if you're picking up, or longer if you're having it mailed to you.

What if I lose my receipt?

Keep your receipt until the money order is cashed. If it's lost or stolen, you'll need the receipt to file a claim and request a replacement. Without it, the issuer may not be able to help you. Some places can reissue a money order if you have proof of purchase, but the process takes time.

Do I need an ID to buy a money order?

Banks and credit unions usually require an ID. Post offices, grocery stores, and convenience stores typically don't. If you don't have an ID, a convenience store or grocery store is your best option.