Money order costs range from about $1 to $10 depending on where you buy it and the amount
A money order is a paper document that works like a check but is prepaid — you give the issuer cash or a debit card, they print the document with the amount you specify, and you send it to whoever needs to be paid. The cost to buy one varies by location and issuer. Banks typically charge $5 to $10. Grocery stores, pharmacies, and check-cashing services usually charge $1 to $3. The US Postal Service charges between $1.45 and $2.45 depending on the amount. Some places charge a flat fee; others charge a percentage of the money order amount.
Unlike a cashier's check, which a bank creates from its own account, a money order is a retail product you purchase. You're paying for the document itself and the issuer's processing. The fee structure differs by business model: a bank builds the cost into its service fees, while a grocery store or post office sets a per-transaction price.
Key Takeaways
- The US Postal Service charges $1.45 for money orders up to $500 and $2.45 for orders from $500.01 to $1,000.
- Walmart, grocery stores, and check-cashing services typically charge $1 to $3 per money order, making them cheaper than banks.
- Banks charge $5 to $10 per money order, but the fee may be waived if you have a premium account.
- Some issuers charge a percentage of the amount rather than a flat fee, so a $1,000 money order may cost more than a $100 one at the same location.
Where to buy a money order and what each place charges
The US Postal Service charges a flat fee based on the amount. Orders up to $500 cost $1.45. Orders from $500.01 to $1,000 cost $2.45. You can buy a money order at any post office during business hours with cash, a debit card, or a credit card. You'll need to fill out a form with the recipient's name and your name and address.
Walmart and other large retailers charge $1 to $3 per money order, usually a flat fee regardless of the amount. You can buy one at the customer service desk during store hours. Grocery stores like Kroger, Safeway, and Publix offer money orders at the customer service counter for similar prices. Check-cashing services and payday loan stores also sell money orders for $1 to $3, though fees vary by location and chain.
Banks charge the most: typically $5 to $10 per money order. Some banks waive the fee for customers with certain account types, such as premium checking or wealth management accounts. You'll need to visit a branch during business hours. Credit unions often charge less than banks — typically $2 to $5 — and may waive the fee for members.
Fees based on the amount of the money order
Most issuers use a flat fee structure: you pay the same amount whether the money order is for $10 or $500. The US Postal Service is the clearest example — $1.45 covers any order up to $500, then $2.45 for orders up to $1,000. Walmart and grocery stores work the same way.
Some check-cashing services and smaller retailers charge a percentage instead. A 1% fee on a $1,000 money order costs $10, while a 1% fee on a $100 order costs $1. Before you buy, ask whether the fee is flat or percentage-based. If you're sending a large amount, a percentage-based fee can be significantly more expensive than a flat fee at another location.
Money orders versus cashier's checks on cost
A cashier's check typically costs $10 to $15 at a bank, sometimes more. A money order costs $1 to $10 depending on where you buy it. For small amounts or when you need the document quickly, a money order is cheaper. You can buy one in minutes at a grocery store or post office without an account.
A cashier's check is drawn on the bank's account and carries the bank's may provide. A money order is a retail product you purchase with your own money. Both are considered safer than personal checks because the funds are prepaid. If cost is your main concern and the recipient accepts money orders, buying one at the post office or a grocery store will be less expensive than a cashier's check from a bank.
How to reduce the cost of sending money
If you have a bank account, a bank transfer or ACH payment costs nothing and takes one to three business days. If the recipient needs the money faster or doesn't have a bank account, a money order from the post office or a grocery store is cheaper than a bank money order or cashier's check. Some employers and government agencies offer direct deposit, which is free and when ready.
If you're sending money to someone out of state or internationally, wire transfers are faster than money orders but cost $15 to $50. Money transfer services like Western Union or MoneyGram charge $5 to $30 depending on the amount and destination. For small local payments, a money order remains one of the cheapest options.
What happens if you lose a money order or need to cancel it
If you lose a money order before sending it, you can request a refund or replacement from the issuer. The US Postal Service requires you to fill out Form 6401 and provide proof of purchase. The process takes about 30 days. Some retailers and banks may refund you when ready if you have your receipt.
If the money order was already cashed by someone else, you cannot recover the money. This is why money orders are considered safer than cash — the recipient's name is printed on the document — but you should treat an unsigned money order like cash. Keep your receipt until you confirm the recipient received and cashed it.
Frequently Asked Questions
Can I buy a money order with a credit card?
The US Postal Service accepts credit cards. Most grocery stores and retailers accept debit cards and credit cards. Some check-cashing services accept only cash or debit cards. Call ahead or ask at the counter before you buy, because policies vary by location.
What's the maximum amount for a money order?
The US Postal Service allows up to $1,000 per money order. Banks, grocery stores, and retailers typically have the same limit. If you need to send more than $1,000, you can buy multiple money orders or use a wire transfer.
How long does it take for a money order to clear?
A money order typically clears within one to three business days, the same as a personal check. Some banks process them faster. The recipient's bank determines the clearing time, not the issuer.
Is a money order safer than a personal check?
Yes. A money order is prepaid, so the funds are may provide. A personal check can bounce if the account has insufficient funds. Both require the recipient's name to be filled in, so both are safer than cash.
Do I need an account to buy a money order?
No. You can buy a money order at the post office, a grocery store, or a retailer without an account. You only need cash or a debit card and the recipient's name and address. Banks require an account to buy a money order through them.