Where You Can Buy a Money Order
You can buy a money order at most banks, credit unions, grocery stores, pharmacies, and check-cashing businesses. The easiest option depends on where you already do business and what hours work for you. Banks and credit unions usually charge the least — often $1 to $3 per money order — while convenience stores and check-cashing places may charge $3 to $10. Many locations are open evenings and weekends, which makes them more convenient than banks if you need one outside business hours.
The most common places to find money orders are Walmart, Target, Western Union locations, MoneyGram agents, your own bank, your local grocery store, and the post office. Each charges a different fee and has different limits on how much you can send. Some require you to have an account; others sell them to anyone with cash.
Key Takeaways
- Banks and credit unions charge the lowest fees ($1 to $3) but are only open during business hours, while grocery stores and pharmacies stay open longer and charge $3 to $8.
- Walmart and Target sell money orders for under $5 and are open early and late, making them the fastest option for most people.
- The post office, Western Union, and MoneyGram all sell money orders but charge higher fees ($5 to $10) than retail stores.
- You need cash or a debit card to buy a money order — most places do not accept credit cards for this purchase.
- Money order limits vary by location: banks often allow up to $1,000 per order, while Walmart caps them at $500 to $1,000 depending on your state.
Banks and Credit Unions
Your own bank or credit union is usually the cheapest place to buy a money order. Fees typically range from $1 to $3 per order, and many banks waive the fee if you have a checking account with them. You will need to go to a branch during business hours — most are open Monday through Friday until 5 or 6 p.m., and some open on Saturday mornings.
To buy one, bring your ID and the cash or use your debit card. Tell the teller you want a money order, give them the amount, and provide the name of the person or business you are sending it to. The teller will fill it out and you will sign it. The whole process takes about five minutes.
Walmart and Target
Walmart and Target both sell money orders at their customer service desk for $3 to $5, depending on the amount. Walmart caps money orders at $500 to $1,000 depending on your state, while Target's limit is usually $1,000. Both stores are open early and late — many Walmart locations are open 24 hours, and Target is typically open 8 a.m. to 10 p.m. — which makes them convenient if you cannot get to a bank.
Bring cash or a debit card and go to the customer service counter. You do not need an account or ID at either store, though you may be asked to show ID. The staff will ask for the amount and the recipient's name, fill out the form, and you will sign it. The transaction takes about five minutes.
Grocery Stores and Pharmacies
Most large grocery chains — including Kroger, Safeway, Albertsons, and Whole Foods — sell money orders at the customer service desk or checkout. Fees are usually $3 to $8 per order, and limits are often $500 to $1,000. Pharmacies like CVS and Walgreens also sell them, usually for $3 to $6. These locations are convenient because they are often open until 10 p.m. or later, and many are open on Sundays.
Bring cash or a debit card. You do not need an account. Go to the customer service desk, tell them you want a money order, and provide the amount and the recipient's name. The staff will complete the form and you will sign it. The process is quick — usually under five minutes.
The Post Office
The U.S. Postal Service sells money orders at all post offices. The fee is $1.45 for orders up to $500 and $1.95 for orders from $500.01 to $1,000. Post offices are open Monday through Friday and many are open Saturday mornings, but hours vary by location. You can look up your local post office hours on USPS.com.
Bring cash or a debit card and your ID. Go to the counter and tell the clerk you want a money order. Provide the amount and the recipient's name. The clerk will fill out the form, you will sign it, and you will receive a receipt. The transaction takes about five minutes. Postal money orders are widely accepted and are a good choice if you already need to mail something.
Western Union and MoneyGram
Western Union and MoneyGram are money transfer services that also sell money orders. They operate through thousands of agent locations — convenience stores, check-cashing businesses, and grocery stores — so you can find one near you by searching their websites. Fees are higher than other options, usually $5 to $10 per order, and limits vary by location but are often $1,000 or more.
Bring cash or a debit card. Go to an agent location, tell them you want a money order, and provide the amount and recipient's name. The agent will fill out the form, you will sign it, and you will get a receipt. These services are useful if you need to send money internationally or if you cannot reach another location, but the higher fees make them less economical for domestic money orders.
Check-Cashing Businesses
Check-cashing stores and payday loan businesses sell money orders, usually for $3 to $10 per order. They are often open late and on weekends, which can be convenient. Limits vary but are typically $500 to $1,000. You do not need an account, but you will need to bring cash or a debit card and your ID.
Go to the counter, tell them you want a money order, and provide the amount and the recipient's name. The staff will complete the form and you will sign it. The transaction is quick. These businesses are a good option if you need a money order outside normal banking hours, but compare their fees to Walmart or your grocery store first — they are often higher.
Frequently Asked Questions
Can I buy a money order with a credit card?
Most places do not accept credit cards for money orders. You will need cash or a debit card. Some banks may allow you to use a credit card if you have an account with them, so call ahead if you want to try.
What is the maximum amount I can put on a single money order?
Limits vary by location. Banks often allow up to $1,000, Walmart caps them at $500 to $1,000 depending on your state, and the post office allows up to $1,000. If you need to send more, you can buy multiple money orders.
Do I need an ID to buy a money order?
Most retail locations like Walmart and grocery stores do not require ID, though they may ask to see one. Banks and the post office usually require ID. Check with your specific location if you are unsure.
How long does it take to buy a money order?
The process usually takes five to ten minutes from start to finish. You provide the amount and recipient's name, the staff fills out the form, you sign it, and you receive a receipt.
What should I do if I lose my money order receipt?
Keep your receipt — it is your proof of purchase and shows the tracking number. If you lose it, contact the issuer (your bank, Walmart, the post office, etc.) with the amount and date of purchase. They can help you track it or issue a replacement, though this process can take several weeks.