USPS money order fees depend on the amount you're sending
The United States Postal Service charges a flat fee based on how much money the money order is for. As of 2024, USPS charges $1.45 for money orders up to $500, and $1.95 for money orders from $500.01 to $1,000. These are the only two tiers — there is no fee for amounts under $500 that costs less than $1.45.
You pay the fee when you buy the money order at the post office window. The fee is separate from the face value of the money order itself. If you want to send $200, you pay $200 for the money order plus $1.45 in fees, for a total of $201.45 out of your pocket.
USPS does not sell money orders online or through the mail. You must go to a post office location in person, bring cash or a debit card, and complete the transaction at the counter. Some post offices inside retail locations (like inside a grocery store) may have different hours than standalone branches.
Key Takeaways
- USPS charges $1.45 for money orders up to $500 and $1.95 for money orders from $500.01 to $1,000.
- The fee is paid at the time of purchase and is in addition to the face value of the money order.
- You cannot buy a USPS money order online, by phone, or by mail — you must visit a post office in person.
- Money orders have a maximum limit of $1,000 per order, though you can buy multiple money orders in one transaction.
How USPS money order fees compare to other providers
Other places that sell money orders charge different amounts. Walmart charges $0.88 for money orders up to $1,000 at many locations, though some stores charge $0.98. Western Union charges between $1 and $10 depending on the amount and location. Banks and credit unions often charge $5 to $10 per money order, or may waive the fee for account holders.
The trade-off is not just price. USPS money orders are widely accepted and have a strong reputation for legitimacy. Walmart money orders are cheaper but are not accepted everywhere — some landlords, government agencies, and businesses refuse them. Western Union offers faster service at some locations but charges more. A bank money order costs more upfront but may be worth it if you are sending a large amount or need the transaction recorded in your account.
If you are sending a small amount (under $500), USPS and Walmart are usually the cheapest options. If you are sending $500 to $1,000, the difference between USPS ($1.95) and Walmart ($0.88 to $0.98) matters less because the fee is still small relative to the amount. The real question is whether the recipient will accept the type of money order you choose.
What information you need to buy a USPS money order
Bring the following to the post office: the amount of money you want to send (in cash or on a debit card), the name of the person or business receiving the money order, and your own name and address. The post office will ask you to fill out a form with this information. You do not need an ID, but the postal worker may ask for one.
The money order itself will show the amount, the payee's name (the person receiving it), your name as the sender, and a serial number. Keep your receipt — it shows the serial number and lets you track the money order if it gets lost or stolen. USPS money orders can be tracked online using the serial number and amount.
Do not leave the payee line blank. If you do, anyone who has the money order can cash it. Some people buy a money order with a blank payee line intending to fill it in later, but this creates a security risk and some post offices will refuse to do it.
When USPS money orders make sense versus other payment methods
Use a USPS money order when the recipient does not have a bank account or does not accept personal checks, and when you do not want to send cash through the mail. Money orders are also useful when you need a record of payment — the receipt and serial number prove you sent the money and how much it was for.
Do not use a money order if you can use a bank transfer, ACH payment, or credit card instead. Those methods are faster, cheaper or free, and leave a clearer record. Money orders are slower (they take days to clear) and require the recipient to go to a bank or check-cashing location to deposit or cash them.
Money orders are common for rent payments, utility deposits, court fees, and bail bonds — situations where the recipient specifically requests one or will not accept other forms of payment. They are also used when sending money to someone you do not fully trust with your bank account number or routing information.
How to track a USPS money order if it does not arrive
Keep your receipt immediately after buying the money order. The receipt has the serial number, the amount, the payee's name, and the date. If the money order does not arrive or the recipient says they never got it, you can use this information to file a claim with USPS.
Go to the post office where you bought the money order and ask to file a claim. Bring your receipt. USPS will investigate whether the money order was cashed. If it was not cashed, USPS can issue a replacement. If it was cashed by someone other than the intended recipient, USPS will work with you to document the fraud, though recovery is not may provide.
The investigation takes time — usually several weeks. This is why it is important to tell the recipient you are sending a money order and ask them to confirm when it arrives. If they say they never got it within a reasonable time (usually 7 to 10 days for domestic mail), contact USPS right away rather than waiting.
Limits on USPS money orders and when you need multiple
USPS will not sell you a single money order for more than $1,000. If you need to send more than $1,000, you must buy multiple money orders. You can buy as many as you want in one transaction — there is no daily or monthly limit on how many you can purchase.
If you are sending $2,500, you would buy two money orders: one for $1,000 and one for $1,500. You would pay $1.45 for the first (up to $500) and $1.95 for the second (over $500), for a total fee of $3.40. The recipient would receive both money orders and deposit or cash them separately.
Some recipients (like government agencies or large businesses) may have their own rules about how many money orders they will accept in one payment. Ask before you buy if you are sending a large amount in multiple money orders.
Frequently Asked Questions
Can I buy a USPS money order with a credit card?
No. USPS accepts cash and debit cards only. You cannot use a credit card to buy a money order at the post office. Some people use a debit card that is linked to a credit card account, but the transaction itself must be debit or cash.
What happens if I write the wrong amount on a USPS money order?
If you make a mistake before you leave the post office, tell the postal worker immediately. They can cancel it and issue a new one. If you have already left, you cannot change the amount — you would need to buy a new money order for the correct amount. The original money order can still be cashed for the amount written on it.
Do USPS money order fees change?
Yes, USPS can change money order fees, though they do not change often. The fees listed here were current as of 2024. Check with your local post office or the USPS website to confirm the current fee before you go in to buy one.
Is there a fee to cash a USPS money order?
No. The recipient does not pay a fee to cash or deposit a USPS money order at a bank, credit union, or check-cashing location. The $1.45 or $1.95 fee is paid only by the person who buys the money order.