Places that sell money orders during business hours
Money orders are sold at banks, credit unions, grocery stores, pharmacies, and check-cashing shops. The fastest way to find one near you is to call ahead — most places keep them in stock, but some run out during busy times or have limits on how many they'll sell in one transaction.
Banks and credit unions typically sell money orders during regular banking hours, usually 9 a.m. to 5 p.m. on weekdays and limited Saturday hours. Grocery stores and pharmacies like Walmart, Target, CVS, and Walgreens often stay open later and on Sundays, making them a practical choice if you need one outside standard business hours. Check-cashing shops and Western Union locations (found in many convenience stores and grocery chains) also sell them, though fees vary widely.
Call the location first to confirm they have money orders in stock and to ask about their fee. Fees range from under $1 at banks to $3 or more at check-cashing shops, and some places charge extra if you're not a customer. Knowing the fee ahead of time saves a wasted trip.
Key Takeaways
- Grocery stores, pharmacies, and check-cashing shops often have longer hours than banks and may be open right now.
- Call ahead to confirm the location has money orders in stock and to learn their fee before you go.
- Banks and credit unions usually charge $1 to $2 per money order, while check-cashing shops may charge $3 or more.
- You'll need cash or a debit card, a valid ID, and the recipient's name and address to buy a money order.
- Western Union locations inside convenience stores and grocery chains often have extended hours and can issue money orders quickly.
Using Google Maps or your bank's locator to find the nearest option
Open Google Maps on your phone and search "money order near me" or the name of a specific chain like "Walmart" or "CVS." The map will show you locations, hours, and whether they're open right now. Click on each location to see its phone number so you can call and confirm they sell money orders.
If you have a bank account, log into your bank's website or app and use their branch locator. It will show you the nearest branch and its hours. Many banks let you order a money order online and pick it up the same day, though this option is less common than in-person purchase.
What to bring when you go to buy a money order
Bring a valid photo ID — a driver's license, passport, or state ID card. The seller needs to verify your identity before issuing the money order. You'll also need cash or a debit card to pay for it, since most places won't accept credit cards for money orders.
Have the recipient's full name and address ready. You'll need to write this on the money order itself, so double-check the spelling. If you don't know the address, ask the recipient before you go — you can't leave it blank or write it in later.
Know the amount you need. Money orders are typically sold in denominations up to $1,000, though some places cap them at $500. If you need more than the maximum, you'll have to buy multiple money orders.
Why some places might be closed right now
Banks close by 5 or 6 p.m. on weekdays and may not open on Sundays. Credit unions have similar hours. If it's evening or a weekend, a grocery store, pharmacy, or check-cashing shop is your best bet — many stay open until 9 or 10 p.m. and operate on Sundays.
Some locations close for holidays or have reduced hours on certain days. Calling ahead prevents a wasted trip, especially if you're going somewhere unfamiliar.
Comparing fees across different sellers
Banks typically charge $1 to $2 per money order for customers and may charge more for non-customers. Credit unions often charge similar amounts. Walmart and other large retailers usually charge $0.70 to $1.50. Check-cashing shops and Western Union locations may charge $2 to $5 or more, depending on the amount and location.
The difference adds up if you're buying multiple money orders. A $3 fee on five money orders costs $15 total — money you could save by going to a bank or large retailer instead. Ask about the fee when you call, and factor it into your choice of where to go.
What to do if you can't find one nearby
If no location near you is open or has money orders in stock, consider alternatives. A cashier's check from your bank works the same way as a money order and is often free for customers. A wire transfer through your bank is faster if the recipient has a bank account, though it costs $15 to $30. A personal check is free but takes longer to clear.
If you need the money order urgently and nothing is available, ask the recipient whether they can wait until tomorrow or accept a different payment method. Most situations that feel urgent can be solved by waiting a few hours.
Frequently Asked Questions
Can I buy a money order online and pick it up today?
Some banks let you order a money order through their website or app and pick it up at a branch the same day, but this isn't standard. Call your bank to ask. Most people buy money orders in person at the counter, which takes 5 to 10 minutes.
What if the place I go to doesn't have money orders in stock?
Ask when they expect their next shipment — usually within a day or two. If you need one urgently, try another location. Larger retailers and banks are less likely to run out than small check-cashing shops.
Do I need to be a customer to buy a money order?
Banks and credit unions may charge a higher fee if you're not a customer, but most will still sell you one. Grocery stores, pharmacies, and check-cashing shops sell to anyone with a valid ID. Call ahead to ask about their policy.
Can I buy a money order with a credit card?
Most places won't accept credit cards for money orders because they're considered cash equivalents. Bring cash or a debit card instead. Some Western Union locations may have different policies, so ask when you call.
What's the maximum amount for a single money order?
Most places cap money orders at $1,000, though some limit them to $500. If you need to send more, buy multiple money orders. Ask the seller what their limit is before you go.