The most common places to buy a money order
You can buy a money order at your bank, the post office, grocery stores, pharmacies, and check-cashing businesses. Most of these locations are open during regular business hours, and the process takes just a few minutes. The cost varies by location — typically between $1 and $5 — and you'll need cash or a debit card to pay.
The location you choose depends on what's convenient for you and whether you already have an account there. A bank may offer lower fees if you're a customer, while a grocery store or pharmacy might be faster if you need one outside normal banking hours. Post offices are widely available but can have longer lines during busy times.
Key Takeaways
- Banks, post offices, grocery stores, pharmacies, and check-cashing businesses all sell money orders, with fees typically between $1 and $5.
- You'll need to bring cash or a debit card and know the exact amount you want to send, since you can't change the amount after purchase.
- Post offices and some grocery stores are open on weekends and evenings, making them useful if your bank has limited hours.
- Money orders from any of these sources are equally safe and widely accepted — the issuer matters more than where you bought it.
Banks and credit unions
Your bank or credit union is often the cheapest place to buy a money order if you have an account there. Many banks charge $3 to $5 per money order, but some waive the fee entirely for account holders or offer a lower rate. You can usually buy one during regular business hours at any branch.
Call ahead or check your bank's website to confirm they sell money orders and what the fee is. Some smaller banks or credit unions may not offer them, or may require you to order in advance. If you're not a customer, you may pay a higher fee or be turned away.
U.S. Post Office
The post office sells money orders at every location nationwide. The fee is set by the Postal Service and does not vary by location — currently $1.45 for amounts up to $500 and $1.95 for amounts from $500.01 to $1,000. You can buy one during regular post office hours, and many locations have extended evening or Saturday hours.
Bring cash or a debit card and know the exact amount you need. The post office will not cash a money order for you if you change your mind, so double-check the amount and recipient before you pay. If you lose the money order before sending it, you can file a claim with the Postal Service, but you'll need the receipt and serial number.
Grocery stores and pharmacies
Most large grocery chains and pharmacy chains sell money orders at the customer service desk or checkout. Walmart, Target, Kroger, Safeway, CVS, and Walgreens all offer them. Fees are usually $3 to $5, and hours are often longer than banks — many are open until 9 or 10 p.m. and on Sundays.
The money order itself comes from a third-party issuer, not the store, so it's just as valid as one from a bank or post office. Call ahead to confirm the store near you sells them, since not every location does. You'll need cash or a debit card and the exact amount you want to send.
Check-cashing businesses and payday lenders
Check-cashing stores and payday lenders almost always sell money orders, and they're often open late or on weekends. Fees tend to be higher than banks or the post office — typically $3 to $10 depending on the amount. These businesses are useful if you need a money order outside normal business hours.
Be aware that some of these businesses charge fees for other services as well, so confirm the money order price before you buy. The money order itself is legitimate and will be accepted anywhere, regardless of where you bought it. Bring cash or a debit card and the exact amount you need.
Online money order services
A few online services let you purchase a money order and have it mailed to you or the recipient. MoneyGram and Western Union both offer this option through their websites. You pay online with a credit or debit card, and the money order arrives by mail in a few business days.
Online money orders cost more than in-person purchases — typically $5 to $10 — because of the mailing fee. This option is useful if you can't leave your home or don't have a location nearby, but it's slower than buying in person. You'll still need to know the exact amount and the recipient's address before you order.
What to bring and what to know before you go
Bring cash or a debit card — most places won't accept credit cards for money orders. Know the exact amount you need, because you can't change it after purchase. Have the recipient's name ready, though you can usually leave the recipient line blank if you're not sure yet (though this is not recommended for security reasons).
Ask about the fee before you pay, since it varies widely. If you're buying more than one, ask if there's a discount for multiple money orders. Keep your receipt until the money order is delivered and cashed — you'll need it if you have to file a claim or prove you sent it.
Frequently Asked Questions
Can I buy a money order with a credit card?
Most places won't accept credit cards for money orders because they're considered cash equivalents. You'll need to use cash or a debit card. Some online services accept credit cards, but they charge higher fees to cover the credit card processing cost.
What's the maximum amount I can buy on a single money order?
Most issuers cap a single money order at $1,000. If you need to send more, you can buy multiple money orders. The post office allows up to $1,000 per money order; banks and stores typically do the same.
Can I get my money back if I change my mind?
Once you've paid for a money order, you can't get a refund. Some issuers will cancel it and issue a new one if you haven't sent it yet, but you may lose the fee. Keep your receipt and don't fill in the recipient's name until you're certain.
Is a money order from one place safer than another?
No — a money order from Walmart is just as safe as one from the post office or your bank. What matters is that it's issued by a legitimate company like MoneyGram, Western Union, or the Postal Service. The location where you buy it doesn't affect how safe it is or whether it will be accepted.
What if I lose the money order before I send it?
Keep your receipt. If you lose the money order, contact the issuer with your receipt and serial number to file a claim. The process takes time, and you may not recover the full amount, so treat a money order like cash once you've bought it.