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 available same-day and cost between $1 and $5 depending on the amount and where you buy it. Banks and credit unions are often cheapest if you have an account there, while post offices and grocery stores are open longer hours and don't require membership.
The post office is the most reliable option nationwide — every location sells money orders up to $1,000, and you can walk in without an account. Grocery stores like Walmart, Kroger, and Safeway sell them at customer service desks during store hours. Convenience stores like 7-Eleven and Circle K carry them, though some locations have limits on the amount or may not stock them.
Speed matters if you need the money order today. Banks and credit unions process them immediately if you're there during business hours. Post offices, grocery stores, and convenience stores also issue them on the spot, but lines can be longer during peak times. If you need it mailed to someone, the post office can do that directly, though it takes several days.
Key Takeaways
- The post office sells money orders up to $1,000 with no account required, making it the most accessible option for most people.
- Banks and credit unions typically charge $1 to $3 per money order if you have an account, which is cheaper than other retailers.
- Grocery stores and convenience stores offer longer hours than banks but may have higher fees or lower maximum amounts.
- You need cash or a debit card to buy a money order — credit cards are not accepted at most locations.
Banks and credit unions
If you have a checking or savings account, your bank or credit union is usually the cheapest place to buy a money order. Most charge $1 to $3 per order, and some waive the fee entirely for customers with certain account types. You can buy them during business hours, and the teller will issue it immediately.
Not all banks sell money orders — some have stopped offering them as fewer people use them. Call ahead or check your bank's website to confirm they still issue them. Credit unions almost always sell them to members, and some will sell to non-members for a higher fee.
The main drawback is hours. Most banks close by 5 or 6 p.m. on weekdays and have limited Saturday hours. If you need a money order on a Sunday or after hours, you'll need to go elsewhere.
U.S. Post Office
The post office sells money orders up to $1,000 for a flat fee of around $1.45 for amounts up to $500, and $1.95 for $500 to $1,000. You don't need an account or membership. Every post office location carries them, and you can buy multiple money orders in one transaction if you need more than $1,000 total.
Post offices are open six days a week at most locations, with some in major cities open on Sunday. Hours vary by location, but many stay open until 5 or 6 p.m. on weekdays. You can look up your nearest post office and its hours on USPS.com.
If you need the money order mailed to the recipient, the post office can do that for you. You'll pay for the money order plus postage. This takes several business days, so it's not a same-day solution.
Grocery stores and supermarkets
Walmart, Kroger, Safeway, Target, and most other large grocery chains sell money orders at their customer service desk. Fees typically range from $0.70 to $3, depending on the store and the amount. Maximum amounts vary — Walmart caps them at $1,000, while some smaller chains may limit you to $500.
Grocery stores are open longer than banks, often until 10 or 11 p.m., and many are open on Sunday. This makes them convenient if you need a money order outside normal business hours. You can buy one while you're already shopping.
The downside is that lines at customer service can be long, especially during evenings and weekends. Some stores require you to have a rewards card or membership to buy a money order, though most do not. Call ahead if you're unsure about your specific location's policy.
Convenience stores
7-Eleven, Circle K, Casey's, and similar convenience stores sell money orders at the register or customer service counter. Fees are usually $1 to $3, and maximum amounts are often lower than at grocery stores — typically $500 to $1,000. Not every location carries them, so call first to confirm.
Convenience stores are open 24 hours at many locations, making them the only option if you need a money order at midnight or on a holiday. They're also quick — the transaction usually takes just a few minutes.
The trade-off is that convenience stores often have higher fees than post offices or banks, and some have lower maximum amounts. If you need a large money order, you may need to buy multiple ones or go to a different location.
What you need to bring
You'll need cash or a debit card to buy a money order. Credit cards are not accepted at most locations, including the post office and most banks. Bring enough money to cover both the money order amount and the fee.
You don't need an ID to buy a money order at most places, but the post office requires one. Bring a driver's license, passport, or state ID. Some banks may ask for ID even if you have an account.
Know the exact amount you need before you arrive. You can't change the amount once it's issued, so if you make a mistake, you'll need to buy a new one and may lose the fee on the first one.
Comparing fees and hours
| Location | Typical Fee | Maximum Amount | Hours |
|---|---|---|---|
| Bank/Credit Union | $1–$3 | $1,000+ | Weekdays 9 a.m.–5 p.m., limited Saturday |
| Post Office | $1.45–$1.95 | $1,000 | Weekdays 9 a.m.–5 p.m., Saturday, some Sunday |
| Grocery Store | $0.70–$3 | $500–$1,000 | Often 7 a.m.–11 p.m., many open Sunday |
| Convenience Store | $1–$3 | $500–$1,000 | Many 24 hours |
Frequently Asked Questions
Can I buy a money order with a credit card?
No. The post office, banks, and most retailers do not accept credit cards for money orders. You'll need cash or a debit card. Some people use a credit card to withdraw cash at an ATM first, then use that cash to buy the money order, but you'll pay an ATM fee for doing this.
What if I make a mistake on the money order?
You cannot change a money order once it's issued. If you write the wrong amount or recipient name, you'll need to contact the issuer to request a replacement or refund. This process takes time and may involve a fee. It's worth double-checking everything before you hand over your cash.
Can I buy a money order for someone else?
Yes. You can buy a money order and fill in someone else's name as the recipient. The person receiving it will need to sign the back to cash it or deposit it. Make sure you have the correct spelling of their name before you buy it.
Is there a limit to how many money orders I can buy?
There's no legal limit on the number of money orders you can buy in one day. However, if you're buying a very large number at once, some retailers may ask questions or require additional ID. This is part of anti-fraud and anti-money-laundering rules.
What's the difference between a money order and a cashier's check?
A money order is smaller, cheaper, and faster to get — you can buy one in minutes at a grocery store. A cashier's check is issued by a bank and is used for larger amounts. Cashier's checks are more formal and may be required for things like down payments on a house, while money orders work for bills, rent, and smaller payments.