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 of these locations are within a few miles of your home, and the process takes five to ten minutes. Banks and credit unions typically charge $1 to $10 per money order, while grocery stores and convenience stores usually charge $0.50 to $3. The post office falls in the middle, usually $1.45 to $2.00 depending on the amount.
The best choice depends on where you already go and what you need. If you have a bank account, your bank is often cheapest and fastest. If you need a money order outside business hours, a 24-hour convenience store or grocery store is your only option. If you need to send a large amount, the post office accepts money orders up to $1,000, while many convenience stores cap them at $500 or $1,000.
Key Takeaways
- Banks, credit unions, post offices, grocery stores, and convenience stores all sell money orders, with fees ranging from $0.50 to $10 depending on the location and amount.
- Your bank or credit union is usually the cheapest option if you have an account there, and they can often issue a money order while you wait.
- Grocery stores and convenience stores are open longer and charge less than banks, making them a good choice for after-hours purchases.
- The post office accepts money orders up to $1,000, while many retail locations cap them at $500 or less.
- You will need cash or a debit card, a valid ID, and the recipient's name and address before you go.
Banks and credit unions
Your bank or credit union is usually the cheapest and most reliable place to buy a money order. Most banks issue them same-day while you wait, and fees are typically $1 to $5 per order. You will need to be a customer with an active account, bring a valid ID, and have cash or a debit card to pay.
Call your bank before you go to confirm they sell money orders and what their current fee is. Some smaller banks or credit unions do not offer them, or they may require you to order in advance. If your bank does not sell money orders, ask them to refer you to a nearby location that does.
The post office
The United States Postal Service sells money orders at every post office location. The fee is $1.45 for amounts up to $500 and $2.00 for amounts from $500.01 to $1,000. You do not need an account, but you will need cash, a debit card, or a check, plus a valid ID.
Post offices are usually open Monday through Friday during business hours and Saturday mornings, though hours vary by location. You can find your nearest post office and its hours at usps.com. The process takes about five minutes, and you receive a receipt that you should keep until the money order is cashed.
Grocery stores and supermarkets
Most large grocery chains—including Walmart, Target, Kroger, Safeway, and Albertsons—sell money orders at their customer service desk. Fees are typically $0.50 to $3, making them cheaper than banks. They are often open longer than banks, including evenings and weekends, which makes them convenient for after-work or weekend purchases.
Money order limits at grocery stores vary: Walmart caps them at $1,000, while some other chains limit them to $500. Bring cash or a debit card and a valid ID. You do not need an account with the store. Call ahead if you are unsure whether your local store sells money orders, since not all locations do.
Convenience stores and gas stations
Convenience stores like 7-Eleven, Circle K, and Murphy USA, as well as many gas stations, sell money orders. Fees are usually $0.99 to $2.50, and they are open 24 hours or very late, making them the most accessible option outside normal business hours. Most cap money orders at $500 or $1,000.
Not every location sells money orders, so call first or ask at the counter. Bring cash or a debit card and a valid ID. The transaction is quick, usually under five minutes. If you need a money order at midnight or on a holiday, a 24-hour convenience store is often your only choice.
How to find locations near you
Use Google Maps or Apple Maps to search "money order near me" or "Western Union near me" (Western Union is a money order service available at many retail locations). The search will show you nearby banks, post offices, grocery stores, and convenience stores with their hours and distance from you.
You can also call ahead to confirm the location sells money orders and ask about their current fee. This saves a trip if a location does not offer them. If you are in a rural area with few options, the post office is the most reliable choice because every post office sells money orders.
What to bring and how to fill one out
Bring a valid ID (driver's license, passport, or state ID), cash or a debit card, and the recipient's full name and address. You will also need to know the amount. The cashier will fill in most of the money order for you, but you will need to sign it and write the recipient's name and address. Do not sign the back—that is for the recipient only.
Keep your receipt until the money order is cashed. The receipt has a tracking number that lets you confirm the money order was received and cashed. If the money order is lost or stolen, you can use the receipt to request a replacement.
Frequently Asked Questions
Can I buy a money order with a credit card?
Most locations do not accept credit cards for money orders because they are considered cash advances. Bring cash or a debit card instead. Some banks may allow you to use a credit card if you have an account with them, so call ahead to ask.
What if I do not have a valid ID?
You will not be able to buy a money order without a valid ID. All locations require one for fraud prevention. If your ID is expired or lost, get a replacement from your state's DMV or passport office before you try to buy a money order.
How long does it take to buy a money order?
The process usually takes five to ten minutes from start to finish. Banks and post offices may take longer if there is a line. Convenience stores and grocery stores are often faster because they have multiple customer service windows.
Can I cancel a money order after I buy it?
Yes, but only if it has not been cashed. Return to the location where you bought it with your receipt and ask for a refund or replacement. Some locations charge a cancellation fee of $1 to $5. If the money order was lost or stolen, contact the issuer with your receipt number to report it.
What is the maximum amount for a money order?
Most locations cap single money orders at $500 to $1,000. If you need to send more, you can buy multiple money orders. The post office accepts up to $1,000 per order, while Walmart and some other retailers also allow $1,000.