Where you can buy a money order
You can buy a money order at a bank, credit union, post office, grocery store, or convenience store. Not every location sells them, so call ahead or check the website if you have a preference. Banks and credit unions usually charge $1 to $10 per money order. The U.S. Postal Service charges between $1.45 and $6.45 depending on the amount. Grocery stores and convenience stores (like 7-Eleven or Walmart) typically charge $0.50 to $3. The fee does not change based on who you are sending the money to — it is the same whether you are paying a utility bill or sending money to a family member.
Some banks charge fees only to non-customers. If you have an account at a bank or credit union, ask whether members pay less or nothing at all. A few banks offer money orders free to checking account holders. Online banks that have no physical branches cannot sell you a money order in person, though some partner with convenience stores or allow you to order one by mail.
Key Takeaways
- You can buy a money order at a post office, bank, credit union, grocery store, or convenience store, and fees range from $0.50 to $10 depending on where you go.
- You will need to bring cash or a debit card, the amount you want to send plus the fee, and you must know the recipient's name and address before you arrive.
- The money order is issued in the recipient's name, so only they can cash it, and you keep the receipt as proof of purchase.
- Money orders are safer than sending cash through the mail because they can be replaced if lost or stolen, but you must report the problem quickly and have your receipt.
What to bring and how much it costs
Bring cash or a debit card to cover both the amount you are sending and the fee. For example, if you are sending $500 and the fee is $3, you need $503 total. Some locations accept checks, but most require cash or a card. Ask the location before you go if you are unsure what they take.
The amount you can send in a single money order varies by location. The U.S. Postal Service caps money orders at $1,000. Banks and credit unions often allow up to $1,000 or $2,500 per money order. Grocery stores and convenience stores typically cap them at $500 to $1,000. If you need to send more than the limit, you can buy multiple money orders at the same time.
Information you need before you go
You must know the recipient's full name and mailing address before you arrive. The money order is issued in their name, so you cannot change it after purchase. Write down the name exactly as they want it to appear — for example, whether they use a middle initial or a nickname. If the name is wrong, the recipient may have trouble cashing it, and you will have to go back and buy a replacement.
You do not need the recipient's account number or any identification from them. You only need their name and address. If you are paying a bill, you may also need an account number, but that goes on the money order itself, not as part of the purchase process.
The purchase process and your receipt
Tell the cashier or teller you want to buy a money order and give them the amount, the recipient's name, and their address. The cashier will fill out the money order or hand you a form to complete. You will see three parts: the amount, the recipient's name, and your name (the sender). Double-check all the information before you pay, because you cannot change it once it is printed.
After you pay, you will receive the money order itself and a receipt. Keep the receipt. It shows the money order number, the amount, the date, and the fee you paid. If the money order is lost or stolen before the recipient cashes it, you will need this receipt to report it and request a replacement. The receipt is your proof that you bought it and sent it.
How to send the money order
You can mail the money order through the U.S. Postal Service, hand it to the recipient in person, or give it to someone else to deliver. If you mail it, put it in an envelope with any other documents the recipient needs (like a bill payment coupon or a letter). Do not write the money order number on the outside of the envelope. Mail it from a post office mailbox or your home mailbox, the same way you would mail a check.
The money order will arrive as part of regular mail delivery, which takes three to five business days within the United States. If you need it to arrive faster, you can use Priority Mail Express through the Postal Service, though this costs extra. If you hand it to the recipient in person, they can cash it when ready.
What happens if the money order is lost or stolen
If the money order does not arrive or you suspect it was stolen, contact the location where you bought it as soon as you notice the problem. Bring your receipt. The issuer will put a stop on the money order so the recipient cannot cash it, and they will issue you a replacement. This process usually takes two to four weeks, though some locations are faster.
If the recipient has already cashed the money order, you cannot get your money back. This is why it is important to confirm with the recipient that they received it and cashed it, especially if you are sending it through the mail. If you are sending a large amount, consider asking the recipient to text or call you once they cash it.
Money orders versus other payment methods
A money order is safer than cash in the mail because it is issued in the recipient's name and cannot be cashed by anyone else. A check offers the same protection but requires a bank account. A wire transfer is faster (usually same-day) but costs more ($15 to $50) and requires both you and the recipient to have bank accounts. A prepaid card or digital payment app like Venmo or PayPal is faster and cheaper but requires the recipient to have a smartphone or account with that service.
Money orders work when the recipient does not have a bank account, does not use digital payment apps, or when you need a paper record of payment. They are commonly used for security deposits, rent payments, utility bills, and sending money to people who prefer not to share banking information.
Frequently Asked Questions
Can I buy a money order with a credit card?
Most locations do not accept credit cards for money order purchases. Banks, the Postal Service, and convenience stores typically accept cash or debit cards only. Some banks may allow credit card holders to buy money orders using their account, but you would need to ask your specific bank. Treat a money order purchase like a cash withdrawal — you are moving money out of your account, not making a purchase that builds rewards or points.
What if I make a mistake on the money order?
If you notice an error before you leave the location, tell the cashier when ready and ask for a refund. Most places will refund your money and the fee if the error is their fault. If you made the error (like writing the wrong name), some locations will still refund you, but others may keep the fee. Once you leave the location, you cannot change the money order — you would have to buy a new one and ask the recipient to discard the old one.
Do I need to show ID to buy a money order?
The U.S. Postal Service requires ID for money orders over $3,000. Banks and credit unions may ask for ID regardless of the amount. Grocery stores and convenience stores rarely ask for ID unless you are paying with a check. Bring a driver's license or state ID to be safe, especially if you are buying a large money order or going to a bank.
How long does a money order stay valid?
Money orders issued by the U.S. Postal Service are valid for one year from the date of issue. After one year, the recipient can still cash it, but they may have to contact the Postal Service to verify it. Money orders from banks, credit unions, and other issuers may have different expiration policies — ask when you buy one if you think there will be a long delay before the recipient cashes it.
Can I cancel a money order after I buy it?
Yes, but only if the recipient has not cashed it yet. Go back to the location where you bought it with your receipt and ask to cancel it. They will issue you a refund, though they may keep the fee. If you bought it from the Postal Service, you can also request a refund by mail using Form 6401. The process takes several weeks. If the recipient has already cashed it, you cannot cancel it or get your money back.