Money order fees range from about 70 cents to $5, depending on where you buy it and the amount you're sending
The cost of a money order is not fixed. Post offices, banks, grocery stores, and check-cashing services all set their own prices. A money order for $500 might cost $1.50 at one location and $3 at another. The amount you're sending also matters — most places charge more for larger sums, though the difference is usually small.
You pay the fee when you buy the money order, not when someone cashes it. The recipient pays nothing. If you're sending $100 and the fee is $1.50, you hand over $101.50 total.
Key Takeaways
- Money order fees typically fall between 70 cents and $5, with most places charging under $2 for amounts under $1,000.
- The United States Postal Service usually charges less than banks or check-cashing services for the same amount.
- Larger money orders cost more to buy, but the fee per dollar sent decreases as the amount increases.
- Some banks waive money order fees for customers who maintain certain account balances or account types.
- Comparing prices at two or three nearby locations takes five minutes and can save you a few dollars on regular money order use.
Where to buy a money order and what each place charges
The United States Postal Service charges a flat fee based on the amount. For money orders up to $500, the fee is typically around $1.45. For $500.01 to $1,000, it's usually around $1.95. These prices can vary slightly by location, so call your local post office or check their website before you go.
Banks often charge $5 to $10 per money order, though many waive the fee if you have a checking account with them. Some banks limit money orders to customers only, so you may not be able to buy one if you don't bank there. Call ahead to confirm both the fee and whether they'll sell to non-customers.
Grocery stores and pharmacies with money order services (often through Western Union or MoneyGram) typically charge $1 to $3 per money order. Walmart and similar retailers fall into this range. These locations are convenient if you're already shopping, but prices vary by store and by the amount you're sending.
Check-cashing services and payday loan stores usually charge $2 to $5 per money order. These places often have longer hours than banks or post offices, which can be useful if you need a money order outside normal business hours.
How the amount you're sending affects the fee
Most money order providers use tiered pricing: the more you send, the higher the fee, but the fee doesn't double when the amount doubles. The post office, for example, charges the same $1.45 fee whether you're sending $100 or $500. Once you cross $500, the fee jumps to $1.95 for anything up to $1,000.
This means if you're sending $600, you'll pay $1.95. If you're sending $499, you'll pay $1.45. The jump happens at specific thresholds, not gradually. Knowing these thresholds can help you decide whether to send one larger money order or split the amount into two smaller ones — though in most cases, one larger money order is cheaper.
When banks waive the fee
Many banks don't charge money order fees to their own customers, especially those with checking accounts. Some require a minimum balance in the account, while others waive the fee for all account holders. A few banks waive fees only for premium accounts or those with direct deposit.
If you bank somewhere, ask whether they offer assistance programs orders as a customer benefit. This can save you $1 to $5 per transaction if you send money orders regularly. Even if you don't currently bank there, this benefit might be worth considering when you're choosing a bank.
Comparing money order costs to other payment methods
A money order costs less than a wire transfer, which typically runs $15 to $30 depending on your bank. A wire transfer is faster, but if you're not in a hurry, the money order fee is much lower.
A cashier's check from a bank usually costs $5 to $15 and takes longer to clear than a money order. For small amounts under $1,000, a money order is almost always cheaper and faster. For larger amounts or when you need the payment to clear immediately, a cashier's check or wire transfer may be worth the extra cost.
Sending money through a peer-to-peer app like Venmo or PayPal is free if both people have accounts, but these services don't work for paying bills or sending money to someone without a smartphone. A money order works anywhere and doesn't require the recipient to have any special account or technology.
How to find the lowest price near you
Call or visit the post office, your bank, and one grocery store or pharmacy in your area. Ask each one what they charge for a money order in the amount you need. Write down the three prices. The difference is usually $1 to $3, but if you send money orders regularly, that adds up.
If your bank waives the fee for customers, that's your lowest cost — zero. If not, the post office is usually the cheapest option for most amounts. Grocery stores and pharmacies are competitive and often more convenient if you're already there.
Prices can change, so if you send money orders more than once or twice a year, it's worth checking again every few months. A place that was cheapest six months ago might have raised its fees.
Frequently Asked Questions
Can I get a refund if I paid too much for a money order?
No. The fee is non-refundable once you've bought the money order. If you realize you overpaid compared to another location, you can't get the fee back. This is why comparing prices before you buy makes sense.
Do I pay the fee even if the money order doesn't get cashed?
Yes. You pay the fee when you buy the money order. If it's never cashed, you can usually get a refund of the full amount (the money plus the fee) if you bring the receipt and proof that it wasn't cashed. Keep your receipt.
Is there a maximum amount for a money order?
Most money orders max out at $1,000. If you need to send more, you'll have to buy multiple money orders. The post office, banks, and most retailers all use the $1,000 limit. Check with your specific location if you're sending a large amount.
Why do banks charge more than the post office?
Banks treat money orders as a service they provide to customers, similar to cashier's checks. The post office is a government service with lower overhead for this specific product. Banks also often waive the fee for their own customers, which is their way of competing.
Can I negotiate the money order fee?
Not typically. Fees are set by the company or organization, not negotiated per transaction. However, if you're a bank customer or if you send money orders frequently, you can ask whether they offer a discount or waive fees for regular users.