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 charge between $1 and $5 per money order, though the fee varies by location and the amount you're sending. Banks and credit unions are often cheapest for their customers, while convenience stores tend to charge more.
The post office is reliable if you need a money order quickly — most branches are open during business hours and some on Saturdays. Grocery stores like Walmart and Target sell them at customer service desks. Convenience stores like 7-Eleven and Circle K carry them, though availability varies by location. You do not need an account anywhere to buy one; you just need cash or a debit card.
Call ahead if you're buying a large money order. Most retailers cap individual money orders at $500 to $1,000, so if you need to send more than that, you'll buy multiple money orders or use a different method like a cashier's check or wire transfer.
Key Takeaways
- Banks, credit unions, post offices, grocery stores, and convenience stores all sell money orders, with fees ranging from $1 to $5 depending on the location.
- You do not need a bank account to buy a money order; cash or a debit card works at any retailer.
- Most places cap individual money orders at $500 to $1,000, so you may need to buy multiple if you're sending a larger amount.
- The post office is open on weekends at many locations and does not require you to be a customer.
- Calling ahead saves time, especially if you need a money order outside normal business hours or want to confirm the fee.
Banks and credit unions
Your bank or credit union is usually the cheapest place to buy a money order if you have an account there. Many charge $1 to $3 per money order, and some waive the fee entirely for certain account types. You can buy one during regular business hours at a teller window or, at some banks, through an ATM.
If you don't have an account, most banks will still sell you a money order but may charge a higher fee or require you to open an account. Call your bank first to ask their policy and current fee. Credit unions are often more flexible with non-members than banks are.
U.S. Postal Service
The post office sells money orders for up to $1,000 each and charges a flat fee of around $1.45 to $1.95 depending on the amount. This is competitive with banks. You can buy one at any post office location during business hours without needing to be a customer.
Many post offices are open on Saturday mornings, and some in urban areas have extended weekday hours. You can also check the USPS website to find your nearest location and confirm hours before you go. Bring cash or a debit card.
Grocery stores and big-box retailers
Walmart, Target, and most grocery store chains sell money orders at their customer service desk. Fees typically range from $3 to $5, which is higher than banks or the post office. The advantage is convenience — these stores have longer hours than banks and are often closer to home.
Availability varies by location. Not every Walmart or Target sells money orders, so call ahead or check their website. Grocery stores like Kroger, Safeway, and Albertsons usually carry them, but again, confirm with your local store first.
Convenience stores
7-Eleven, Circle K, and other convenience stores sell money orders, usually for $2 to $5 per order. They're open late and on weekends, making them useful if you need a money order outside normal business hours. However, not every location carries them — availability depends on the individual store and the state you're in.
Call the specific store before you go. Some states restrict which convenience stores can sell money orders, and some stores choose not to offer them even where it's legal. If one location doesn't have them, try another nearby or use the post office instead.
What to bring and what to expect
Bring cash or a debit card. Most places accept both. You'll need to tell the cashier or teller the amount of the money order and the name of the person or business it's going to (the payee). You'll fill out a form with your name, address, and the payee's information, then pay the amount plus the fee.
The entire process usually takes 5 to 10 minutes. You'll receive the money order and a receipt. Keep the receipt until the money order is cashed — it's your proof of purchase and can be used to trace the money order if it's lost or stolen.
Frequently Asked Questions
Can I buy a money order online?
No. Money orders must be purchased in person at a physical location. However, some banks allow you to request one through online banking, and they'll prepare it for you to pick up or mail to you. Check with your bank about this option.
What's the maximum amount for a single money order?
Most places cap individual money orders at $500 to $1,000. If you need to send more, you can buy multiple money orders or use a cashier's check, wire transfer, or certified check instead. Ask the retailer what their limit is before you buy.
Do I need an ID to buy a money order?
Most places do not require an ID, but some may ask for one to verify your identity. Bring a driver's license or state ID just in case. Requirements vary by location and retailer.
What if the money order is lost or stolen?
Keep your receipt. If the money order hasn't been cashed, you can contact the issuer (the place where you bought it) with your receipt number to report it lost or request a replacement. This is why keeping the receipt is important.
Which place is cheapest?
Banks and credit unions are usually cheapest at $1 to $3 per money order, followed by the post office at around $1.45 to $1.95. Grocery stores and convenience stores charge $2 to $5. If you have a bank account, use your bank.