Where you can buy a money order
You can buy a money order at a bank, credit union, post office, grocery store, pharmacy, or check-cashing business. Not every location sells them, and fees vary by where you go — typically between $1 and $5 per money order. The fastest option is usually a store or post office near your home, since you can walk in, buy it, and fill it out on the spot.
Banks and credit unions often charge less if you have an account with them, sometimes $1 or less per money order. The U.S. Postal Service charges a flat fee that depends on the amount — currently $1.45 for orders up to $500 and $2.20 for $500.01 to $1,000. Grocery stores, pharmacies, and check-cashing businesses typically charge $2 to $5 and do not require an account.
The main trade-off is convenience versus cost. A bank may be cheaper but has limited hours. A 24-hour grocery store or pharmacy costs more but is open when you need it. If you need the money order immediately, location matters more than saving a dollar or two.
Key Takeaways
- Banks, credit unions, post offices, grocery stores, pharmacies, and check-cashing businesses all sell money orders, but fees and hours differ.
- Banks and credit unions charge $1 to $2 if you have an account; the post office charges $1.45 to $2.20 depending on the amount; grocery stores and pharmacies typically charge $2 to $5.
- You will need cash or a debit card to buy a money order — most places do not accept credit cards.
- Bring your ID and know the exact amount you need, since you cannot change the amount once the money order is issued.
Banks and credit unions
If you have a checking or savings account, your bank or credit union is often the cheapest place to buy a money order. Many charge $1 or less per order for account holders, and some waive the fee entirely. You will need to go during business hours, which are usually Monday through Friday and limited Saturday hours.
Call ahead or check the website to confirm your branch sells money orders and what the current fee is. Some smaller branches or credit unions do not offer them. When you go in, bring your ID and the cash or debit card to pay for the money order plus the fee.
U.S. Postal Service
The post office sells money orders up to $1,000 per order. The fee is $1.45 for amounts up to $500 and $2.20 for $500.01 to $1,000. You can buy a money order at any post office during regular hours, and some locations have extended evening or Saturday hours.
Bring cash, a debit card, or a check to pay for the money order. You will need to fill out the money order form at the counter, so have the payee name ready. If you need a money order outside regular post office hours, this option will not work — you will need to go to a grocery store or pharmacy instead.
Grocery stores and pharmacies
Most large grocery chains and pharmacy chains sell money orders at the customer service desk or checkout. Fees typically range from $2 to $5 per order. The main advantage is that many locations are open early, late, and on weekends, so you can buy a money order when banks and post offices are closed.
Common chains that sell money orders include Walmart, Target, Kroger, Safeway, CVS, and Walgreens, though not every location carries them. Call ahead to confirm your nearest store sells money orders and what the fee is. Bring cash or a debit card — most do not accept credit cards for money orders.
Check-cashing businesses
Check-cashing stores and payday loan businesses almost always sell money orders. Fees are usually $2 to $5, sometimes higher. These businesses often have longer hours than banks and post offices, including evenings and weekends, and some are open on Sundays.
The trade-off is that fees tend to be higher than at a bank or post office. Use a check-cashing business if you need a money order outside normal business hours and a grocery store or pharmacy is not nearby. Bring cash or a debit card and your ID.
What you need to bring
You will need cash or a debit card to pay for the money order and the fee. Most places do not accept credit cards for money orders. Bring a valid ID — a driver's license, passport, or state ID card. Some locations may ask for additional identification if you are buying a large money order.
Have the payee name (the person or business the money order is for) ready before you go. You cannot change the payee name once the money order is issued, so double-check the spelling. Know the exact amount you need, since you will have to buy a separate money order if you need a different amount.
Comparing fees and hours
| Location | Typical Fee | Hours | Requires Account |
|---|---|---|---|
| Bank or credit union | $1 or less | Weekdays, limited Saturday | Usually yes |
| U.S. Postal Service | $1.45–$2.20 | Weekdays, some Saturday | No |
| Grocery store or pharmacy | $2–$5 | Early morning to late evening, often weekends | No |
| Check-cashing business | $2–$5 | Extended hours, often open Sunday | No |
Frequently Asked Questions
Can I buy a money order with a credit card?
Most places do not accept credit cards for money orders. Banks, post offices, grocery stores, and pharmacies typically require cash or a debit card. Check-cashing businesses may accept credit cards, but it is rare. Call ahead if you do not have cash or a debit card available.
What is the maximum amount for a money order?
Most money orders have a limit of $1,000 per order. If you need to send more than $1,000, you will have to buy multiple money orders. Some banks or check-cashing businesses may have different limits, so ask when you arrive.
Do I need an ID to buy a money order?
Yes, you will need a valid ID such as a driver's license, passport, or state ID card. This is standard at banks, post offices, and most other locations. Some places may ask for additional information if the amount is large.
Can I buy a money order online?
No, you cannot buy a traditional money order online. You must go in person to a bank, post office, grocery store, pharmacy, or check-cashing business. Some online payment services offer similar functionality, but they are not the same as a money order.
What if the store near me does not sell money orders?
Call ahead to confirm before you go. If your nearest grocery store or pharmacy does not sell them, try another chain location, the post office, or a check-cashing business. You can also ask the store staff if they know where the nearest money order seller is located.