Where to buy a money order
You can buy a money order at a bank, the U.S. Postal Service, Walmart, grocery stores, check-cashing businesses, and some convenience stores. Not every location sells them — call ahead or check their website if you are not sure. Banks and the post office are the most reliable, though they may have shorter hours than retailers. Walmart and grocery stores are often open early and late, which can be useful if you need one outside normal business hours.
Fees vary by location and the amount of the money order. A postal money order for $500 or less costs around $1.45, while a bank money order might cost $5 to $10 for the same amount. Walmart typically charges less than $1 for amounts under $1,000. The larger the money order, the higher the fee at most places, though some cap the fee regardless of amount.
You do not need a bank account to buy a money order anywhere. You only need cash or a debit card, and a valid ID at most locations. Some retailers accept credit cards, but the post office and most banks do not.
Key Takeaways
- Money orders are sold at post offices, banks, Walmart, grocery stores, and check-cashing businesses, with fees ranging from under $1 to $10 depending on the location and amount.
- You need cash or a debit card and a valid ID to buy a money order; you do not need a bank account.
- The post office and banks are open during standard business hours, while retailers like Walmart and grocery stores often have extended hours.
- You fill in the recipient's name, your name and address, and the amount before you pay, so have that information ready when you arrive.
- Keep your receipt until the money order is cashed, because you will need it to track or cancel the money order if something goes wrong.
What you need to bring
Bring a valid photo ID — a driver's license, passport, or state ID card. Some places accept other forms of ID, but a photo ID is the standard. You also need the cash or debit card to pay for the money order and its fee.
Before you go, write down or have ready the name of the person or business receiving the money order, the amount, and your own name and address. You will fill this information on the money order form at the counter, so having it written down speeds up the process and reduces mistakes.
If you are sending the money order to someone, you do not need their address on the money order itself — only their name. However, if you are mailing it, you will need their mailing address for the envelope.
The steps to buy a money order
Walk up to the counter and tell the clerk you want to buy a money order. They will give you a form or ask you the information directly. You will need to provide the amount, the recipient's name, your name, and your address.
Hand over your ID and the cash or debit card. The clerk will run your card or take your cash and collect the fee. They will print the money order and give you a receipt. Keep the receipt — it shows the money order number and amount, and you will need it if the money order is lost, stolen, or never cashed.
The money order is now ready to use. You can hand it to the recipient in person, mail it, or give it to someone else to deliver. The recipient cashes it at their bank, post office, or retailer just as you would cash a check.
Fees and limits
Most money orders have a maximum amount. The post office sells money orders up to $1,000 each, and you can buy multiple money orders if you need to send more. Banks often have higher limits, sometimes $2,500 or more per money order. Retailers like Walmart typically cap at $1,000 as well.
The fee is separate from the amount. If you want to send $500, you pay $500 plus the fee — the recipient receives $500. Fees do not change based on how far the money order travels or who receives it.
Some locations charge a flat fee regardless of amount, while others charge more for larger money orders. A $50 money order and a $500 money order might have the same fee at one place but different fees at another. Comparing fees between a nearby bank, post office, and retailer can save you a few dollars if you are sending a large amount.
How long a money order takes to clear
A money order is not a check. It clears immediately or within one business day at most places because the money is already may provide — you paid for it upfront. The recipient can usually cash it the same day they receive it, or deposit it into a bank account and have access to the funds within one business day.
If the recipient deposits it at a bank, the bank may hold the funds for one to three business days as a standard hold, depending on the bank's policy. This is the bank's choice, not a requirement of the money order itself.
If a money order is lost or stolen
If your money order goes missing before the recipient cashes it, contact the place where you bought it with your receipt. You will need the receipt number, the amount, and the date of purchase. The issuer can check whether the money order has been cashed.
If it has not been cashed, you can request a refund or a replacement. This process usually takes two to four weeks. If it has already been cashed, you cannot recover the money — the recipient or whoever cashed it has it. This is why keeping your receipt and tracking when the money order is cashed is important.
Some issuers charge a fee to research or replace a money order, typically $15 to $30. Ask about the fee before you request a trace.
Money orders versus other payment methods
A money order is safer than cash because it has a specific recipient name and amount printed on it — someone cannot cash it without that name matching their ID. A check requires a bank account and can bounce if there are not enough funds. A wire transfer is faster but costs more and requires bank account information.
A money order is useful when the recipient does not have a bank account, when you do not trust sending cash through the mail, or when you need a paper record of payment. It is slower than a wire transfer or electronic payment, so it is not the best choice if the recipient needs the money urgently.
Frequently Asked Questions
Can I buy a money order with a credit card?
Most post offices and banks do not accept credit cards for money orders. Walmart and some grocery stores do accept credit cards, but they may charge an additional fee for doing so. Call ahead to confirm the payment methods accepted at your location.
What if I make a mistake filling out the money order?
Do not use a money order with errors on it. Return to the place where you bought it with your receipt and ask for a replacement. Most issuers will issue a new money order and refund your fee if the mistake was theirs, though some may charge a small replacement fee.
Can someone else cash my money order if I lose it?
If the money order has a specific recipient name on it, only that person should be able to cash it — they will need to show ID matching that name. However, if you have not filled in the recipient name yet, anyone who has the money order can cash it. Always fill in the recipient name before handing it over or mailing it.
How do I know if the money order was cashed?
Contact the issuer with your receipt and ask them to check the status. They can tell you whether the money order has been cashed and on what date. This usually takes a few minutes over the phone or online, depending on the issuer.
Is there a limit to how many money orders I can buy at once?
There is no legal limit on how many money orders you can buy, but some retailers or banks may have their own policies. If you need to send a large amount, you can buy multiple money orders. The post office and most banks will sell you as many as you need in a single transaction.