Walk into your bank and ask for a money order at the teller window
Most banks issue money orders directly to customers during regular business hours. You go to a teller, tell them the amount you need, provide the payee name (who the money order is made out to), and pay the fee plus the amount of the money order itself. The teller prints it on the spot. The whole process takes five to ten minutes.
Not every bank offers money orders, so call ahead if you are unsure. Some smaller banks or credit unions do not stock them. If your bank does not, a postal service location, grocery store, or check-cashing service can issue one instead—but this guide focuses on the bank route.
You do not need to have an account at the bank to buy a money order there, though some banks restrict purchases to account holders. Ask when you call.
Key Takeaways
- Banks issue money orders at the teller window during business hours, and the process takes about five to ten minutes.
- You pay two fees: the cost of the money order itself (the amount you are sending) plus a service fee that ranges from $5 to $15 depending on the bank and the amount.
- Bring cash or a debit card; most banks do not accept credit cards for money order purchases.
- You must provide the exact name of the payee (the person or business the money order is made out to) before the teller prints it.
- Money orders are safer than cash for mailing because they can be traced and stopped if lost, and the recipient cannot cash them without the correct endorsement.
What you need to bring to the bank
Bring cash or a debit card. Most banks do not accept credit cards for money order purchases because they treat it as a cash advance, which carries higher fees and interest. A few banks make exceptions, so ask when you call.
You do not need an ID to buy a money order at most banks, but bring one anyway. If the amount is large—typically over $3,000—the bank may ask for identification to comply with federal reporting rules. Some banks also ask for ID as a routine practice.
Have the payee name ready. This is the person or business the money order is made out to. The teller will print it on the money order, and it cannot be changed once printed. If you are unsure of the exact legal name, ask the recipient or check any invoice or bill they sent you.
Money order fees at banks versus other places
Bank fees for money orders typically range from $5 to $15, depending on the bank and the amount. Larger money orders sometimes cost more. Call your bank to ask the exact fee for the amount you need.
The United States Postal Service charges $1.45 to $8.65 depending on the amount. Walmart and other retailers often charge $0.88 to $3. Check-cashing services may charge $3 to $10. If cost is your main concern, the post office or a grocery store is usually cheaper than a bank, but a bank may be faster if you already have an account there and can visit during your lunch break.
How to fill out and use the money order
The bank teller fills in most of the money order for you: the amount, the date, and your bank's routing information. You sign the back as the sender (called the remitter). Do not sign the front—that is where the payee signs when they cash it.
Write the payee name on the front line marked "Pay to the Order of." The teller usually does this, but double-check it is spelled correctly. If you are mailing the money order, write your return address on the back so it can be returned if it is lost.
Keep your receipt. It shows the money order number, the amount, the payee, and the fee you paid. If the money order is lost or stolen, you will need this receipt to stop payment or request a replacement.
Stopping payment or replacing a lost money order
If a money order you sent does not arrive, or if you sent it to the wrong person, contact your bank with your receipt. The bank can place a stop on the money order, which prevents anyone from cashing it. This usually costs $15 to $30 and takes a few business days to process.
Once the stop is confirmed, the bank can issue a replacement money order for the same amount. You pay the replacement fee (usually the same as the original fee) but not the amount again—you already paid that.
If the recipient says they never received the money order, ask them to wait at least two weeks before you request a stop. Money orders can take one to two weeks to arrive by mail, and stopping payment too early may prevent legitimate delivery. If it has been longer than two weeks and they still have not received it, contact your bank.
Why use a bank money order instead of other payment methods
Money orders are traceable. Unlike cash, each money order has a unique number. If it is lost or stolen, you can stop payment. If it arrives at the recipient, they have proof of payment because the money order shows the amount, date, and your bank's information.
Money orders are safer to mail than cash or checks. A check can be altered or forged. Cash cannot be recovered if lost. A money order can only be cashed by the person whose name is on the "Pay to the Order of" line, and most banks and check-cashing services verify the endorsement before handing over money.
Money orders work when the recipient does not want to give you their bank account number (which a wire transfer would require) or when you need a paper record for a landlord, utility company, or government office that does not accept digital payments.
When a bank money order is not the best choice
If you need the money to arrive the same day, a bank money order will not work. Mailed money orders take one to two weeks. A wire transfer through your bank is faster—usually same-day or next-day—but costs more ($15 to $50) and requires the recipient's bank account details.
If the amount is very large (over $10,000), some banks require advance notice or may ask additional questions for compliance reasons. Call ahead if you are sending a large amount.
If you need to send money to someone without a bank account or mailing address, a money order will not help. In that case, a wire transfer to a third party, a prepaid card, or a peer-to-peer payment app may work better.
Frequently Asked Questions
Can I buy a money order online from my bank?
Most banks do not offer online money order purchases. You must visit a branch in person and pay at the teller window. A few banks are beginning to offer digital money orders, but this is not yet standard. Call your bank to ask if they have this option.
What if I make a mistake on the payee name?
Once the teller prints the money order, the payee name cannot be changed. If you realize the name is wrong before the teller hands it to you, ask them to void it and issue a new one. Most banks will do this at no extra charge if the error was caught immediately. If you already left the bank, you will need to request a stop and pay for a replacement.
Do I need a bank account to buy a money order?
Most banks allow non-account holders to buy money orders, but some restrict purchases to customers only. Call your bank before you visit. If they do not allow it, the post office, Walmart, or a check-cashing service will sell you one without an account.
How long does a money order take to clear once the recipient cashes it?
Money orders clear immediately at most banks and check-cashing services. The recipient gets the cash right away. There is no waiting period like there is with personal checks. Once they cash it, the transaction is final.
Can I get my money back if I change my mind after buying a money order?
If you have not sent it yet, contact your bank and ask them to void it. Most banks will refund the amount plus the fee if the money order has not been cashed. If it has already been cashed by the recipient, you cannot reverse it—money orders are final once cashed, just like cash.