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 are within a few miles of your home, and the process takes less than five minutes. The cost is usually between $1 and $5 per money order, depending on the amount and where you buy it.
Banks and credit unions are often the cheapest option if you have an account with them — some waive the fee entirely for members. The U.S. Postal Service charges a flat rate based on the amount: up to $500 costs one price, and $500.01 to $1,000 costs slightly more. Grocery stores and convenience stores typically charge more per money order but are open longer hours and may be closer to your home.
The location you choose matters less than knowing what to bring. You will need cash or a debit card, a valid photo ID, and the recipient's name. Some places require you to know the exact amount in advance; others let you fill it in on the spot.
Key Takeaways
- Banks, credit unions, post offices, grocery stores, and convenience stores all sell money orders, with banks and credit unions usually charging the lowest fees.
- You need cash or a debit card, a valid photo ID, and the recipient's name to buy a money order at any location.
- The U.S. Postal Service charges a fixed fee based on the amount, while other retailers set their own prices.
- Grocery stores and convenience stores stay open later than banks and post offices, making them a faster option outside business hours.
Banks and credit unions
Your own bank or credit union is usually the cheapest place to buy a money order. Many institutions waive the fee for customers with checking or savings accounts, or charge only 50 cents to $1. If you do not have an account, the fee is typically $2 to $5.
You can walk into any branch during business hours with your ID and cash or debit card. Some banks let you order money orders online or by phone and pick them up the same day, though this varies by institution. Call your bank first to confirm they sell money orders and what their current fee is — some smaller banks have stopped offering them.
U.S. Postal Service locations
Every post office sells money orders up to $1,000. The fee is $1.45 for amounts up to $500 and $1.95 for $500.01 to $1,000. You do not need to be a customer or have any account — just bring your ID and cash or a debit card.
Post offices are open Monday through Friday and Saturday mornings at most locations, though hours vary. You can find your nearest post office and its hours on USPS.com. The money order is issued on the spot, and you walk out with it in hand.
Grocery stores and supermarkets
Most large grocery chains — including Walmart, Target, Kroger, Safeway, and Albertsons — sell money orders at the customer service desk. Fees range from $0.88 to $3, depending on the chain and the amount. These stores are often open earlier and close later than banks, making them convenient for people who work standard hours.
You will need your ID and cash or a debit card. Some grocery stores limit the amount you can buy in a single transaction or per day, so ask at the desk if you need a large money order. The money order is printed and handed to you immediately.
Convenience stores and gas stations
7-Eleven, Circle K, Casey's, and other convenience stores sell money orders, usually for $1 to $3 per order. These locations are often open 24 hours or very late, which makes them useful if you need a money order outside normal business hours. Gas stations with attached convenience stores often sell them as well.
Bring your ID and cash — most convenience stores do not accept debit cards for money order purchases. The amount limit is often lower than at grocery stores or banks, typically capped at $500 or $1,000. Call ahead if you are unsure whether a specific location sells money orders, since not every convenience store offers them.
How to find the nearest location
The fastest way to find a money order seller near you is to search "money order near me" on Google Maps. The results will show banks, post offices, grocery stores, and convenience stores with their hours and distance from your location. You can also call ahead to confirm they sell money orders and ask about their current fee.
If you have a bank account, start by calling your bank's customer service number — they can tell you which branches sell money orders and whether you may have access to for a fee waiver. For the post office, visit USPS.com and enter your zip code to find the nearest location and its hours. For grocery stores and convenience stores, check their websites or call the specific location you plan to visit.
What to bring and what to expect
Bring a valid photo ID (driver's license, passport, or state ID card), cash or a debit card, and the recipient's name. You do not need to know the exact amount in advance at most locations — you can tell the cashier the amount and they will fill it in. Some places ask you to write the amount yourself on the money order after it is issued.
The entire transaction usually takes 2 to 5 minutes. The cashier will ask for the recipient's name and the amount, take your payment plus the fee, and hand you the completed money order. Keep your receipt in case you need to track or cancel the money order later. Do not sign the money order yourself — the recipient signs it when they cash it.
Frequently Asked Questions
Can I buy a money order without a photo ID?
No. All money order sellers require a valid photo ID to prevent fraud. A driver's license, passport, or state ID card will work. If you do not have one, you will need to get one before you can buy a money order.
What is the maximum amount I can buy in a single money order?
Most money orders have a limit of $1,000 per order. If you need to send more than $1,000, you can buy multiple money orders. Some locations may have lower daily limits, so ask the cashier if you need a large amount.
Can I buy a money order with a credit card?
Most places do not accept credit cards for money order purchases. Cash and debit cards are the standard payment methods. Some banks may allow credit card purchases if you have an account with them, but this is rare.
Do I need to have an account to buy a money order?
No. You can buy a money order at a post office, grocery store, or convenience store without an account. Banks and credit unions may charge a higher fee if you are not a member, but they will still sell you one.
How long does it take to get a money order?
Money orders are issued on the spot. The entire process — from walking up to the counter to receiving your completed money order — usually takes 2 to 5 minutes. There is no waiting period or processing time.