Yes, most banks sell money orders, but not all branches carry them and policies vary by bank
You can walk into most major banks and buy a money order at the teller window. Banks like Chase, Bank of America, Wells Fargo, and regional banks typically offer them. However, availability is not may provide—some branches, especially smaller ones or those in rural areas, may not stock them or may require advance notice. Call your branch before you go, because a wasted trip is the last thing you need when you're trying to send money.
The cost at a bank is usually between $5 and $10 per money order, depending on the bank and the amount. Some banks charge a flat fee; others charge a percentage of the amount being sent. A few banks waive the fee for customers with certain account types, so ask if you may have access to. You'll need a valid ID and funds in your account (or cash, at some banks) to cover both the money order amount and the fee.
The process is straightforward: tell the teller the amount, who it's payable to, and provide your ID. The teller fills it out, you sign it, and you walk out with the money order. The whole transaction takes about five minutes if there's no line.
Key Takeaways
- Most major banks sell money orders at the teller window, but call ahead because not every branch carries them.
- Bank fees typically range from $5 to $10 per money order, and some banks waive fees for certain account holders.
- You'll need a valid ID and enough money in your account or in cash to cover the money order amount plus the fee.
- Post offices, grocery stores, and convenience stores often sell money orders for less than banks and with fewer restrictions.
- Money orders are safer than cash for sending money because they can be tracked and replaced if lost or stolen.
Why a bank might not be your cheapest option
The U.S. Postal Service charges $1.45 for a money order up to $500 and $2.00 for amounts between $500 and $1,000. That's significantly less than most banks. Walmart, grocery chains like Kroger and Safeway, and convenience stores like 7-Eleven also sell money orders, usually for $0.88 to $3.00 depending on the amount and location.
If you're sending a small amount—say, $200—the difference between a $7 bank fee and a $1.45 post office fee adds up. For a single transaction it may not matter, but if you send money orders regularly, the post office or a grocery store becomes the better choice. The trade-off is that banks are open during standard business hours and may be more convenient if you're already there, while post offices have more limited hours and grocery stores may have lines during peak times.
What you need to bring to the bank
Bring a valid government-issued ID—a driver's license, passport, or state ID card. The teller will record your information for fraud prevention. You'll also need the payee's name (the person or business the money order is for) and the exact amount. Have that information ready before you reach the window to speed things up.
You can pay with cash, a debit card, or funds from your checking account. Some banks require that you have an account with them; others will sell to anyone with an ID. A few banks have daily limits on money order purchases—sometimes $2,500 or $5,000 per day—so if you're sending a large amount, ask whether you'll need to split it across multiple money orders or come back another day.
How to fill out a money order correctly
The teller usually fills in most of the money order, but you'll sign it and may need to write the payee's name. The payee line is where you write the name of the person or business receiving the money. Use their legal name if possible—for a business, use the exact registered name. If you make a mistake, ask the teller for a replacement; most banks will not charge you twice if the error was theirs.
Do not sign the back of the money order before you send it. The recipient needs to sign the back when they cash it. If you sign it early, anyone who gets the money order can cash it, and you lose the protection that makes a money order safer than cash.
Money orders versus cashier's checks at banks
If you're sending a large amount—over $1,000—a cashier's check may be a better choice than a money order. A cashier's check is drawn on the bank's own account, so it carries more weight for large transactions like down payments or security deposits. The bank guarantees the funds, which makes it more trustworthy for the recipient. Cashier's checks cost $10 to $15 at most banks, so they're more expensive than money orders but less risky for large sums.
Money orders work fine for everyday payments—rent, utility bills, online purchases from sellers who don't take cards. Cashier's checks are better for formal transactions where the recipient needs proof that the money is may provide. Ask yourself whether the recipient cares which one you use; if they don't specify, a money order is usually sufficient and cheaper.
What happens if you lose a money order or it gets stolen
Money orders can be replaced if they're lost or stolen, but the process takes time and requires documentation. You'll need the receipt the bank gave you when you bought it—this receipt has a tracking number. Contact the bank or post office where you bought it and report the loss. They'll file a claim and issue a replacement, usually within 30 to 60 days, though some banks are faster.
This is why money orders are safer than cash: cash is gone forever if you lose it. A money order can be tracked and replaced. Keep your receipt in a safe place until the recipient confirms they've cashed the money order. If the money order hasn't been cashed after a reasonable time—usually 30 to 90 days depending on the issuer—you can file a claim and get your money back.
Alternatives if your bank doesn't sell money orders
If your bank doesn't offer them or you don't have a bank account, the post office is your most reliable backup. Every post office in the country sells money orders, and the fee is the same everywhere: $1.45 for up to $500, $2.00 for $500 to $1,000. You need a valid ID and cash or a debit card. Post offices are open six days a week, though hours vary by location.
Walmart, Target, and grocery stores like Kroger, Safeway, and Publix sell money orders at customer service desks. Fees are typically under $3. Convenience stores and check-cashing services also sell them, though fees may be higher. The downside of non-bank options is that they may have lower limits per transaction—sometimes $500 or $1,000 maximum—so you may need to buy multiple money orders for large amounts.
Frequently Asked Questions
Do I need a bank account to buy a money order at a bank?
Most banks require you to be a customer, but some will sell to anyone with a valid ID. Call your branch and ask. If they require an account, the post office or a grocery store will sell you one without any account.
Can I buy a money order with a credit card?
Most banks and post offices do not accept credit cards for money orders because they're considered a cash advance. Use a debit card, cash, or a check. Some grocery stores and convenience stores may accept credit cards, so ask at the register.
How long does a money order take to clear?
Money orders clear almost when ready—usually within one to three business days. They're safer and faster than personal checks. The recipient can cash it at their bank or at the post office without waiting.
What's the maximum amount I can send with a money order?
Most banks, the post office, and retailers limit individual money orders to $1,000. If you need to send more, you'll buy multiple money orders. Some banks have daily limits on total purchases, so ask if you're buying several at once.
Can I get a refund if I buy a money order and don't use it?
Yes. Bring the unused money order and your receipt to the place where you bought it. They'll refund the amount minus the fee. You cannot get the fee back, but you recover the principal.