Post Office money order fees depend on the amount you're sending
The United States Postal Service (USPS) charges a flat fee for money orders based on how much money the 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 price tiers — there is no charge for amounts under $1, and you cannot send more than $1,000 in a single money order.
The fee is separate from the amount you're sending. If you buy a $100 money order, you pay $100 plus $1.45. If you buy a $750 money order, you pay $750 plus $1.95. You pay the fee at the time you purchase the money order at any Post Office location.
USPS money order rates have not changed since 2018, but postal rates do shift periodically. Check the current rates on USPS.com or ask at your local Post Office window before you go, especially if you're sending a large amount near the $500 threshold.
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 added to the face value of the money order — a $300 money order costs $301.45 total.
- You cannot send more than $1,000 in a single money order, but you can buy multiple money orders at once.
- Rates are set by USPS and do not vary by location or Post Office branch.
- You pay the fee when you purchase the money order, not when the recipient cashes it.
How to buy a money order at the Post Office
Walk into any Post Office location during business hours and tell the clerk you want to buy a money order. Bring cash, a debit card, or a credit card — most Post Offices accept all three. Have the recipient's name ready, along with your own name and address.
The clerk will fill out the money order form with you or hand you a form to complete. You'll write the recipient's name in the "Pay to the Order of" line and your name and address in the "From" line. The clerk will then print the money order, take your payment (the amount plus the fee), and give you the money order and a receipt.
Keep the receipt. It contains a tracking number that lets you confirm the money order was cashed if there's ever a dispute. The recipient can cash the money order at any bank, credit union, or Post Office — they do not need an account.
Comparing Post Office fees to other money order sources
Banks and credit unions often charge less than USPS for money orders. Many banks offer money orders free to account holders, or charge $0.50 to $1.00. Credit unions typically charge $1.00 to $2.00. If you have an account at a bank or credit union, check with them first before going to the Post Office.
Walmart and other retailers also sell money orders, usually for $0.70 to $1.00 per order, with a limit of $1,000 per money order. Walmart money orders are widely accepted, though some smaller businesses or landlords may be unfamiliar with them. If you're paying a utility bill, rent, or a government agency, confirm they accept retail money orders before you buy one.
The trade-off is convenience. A Post Office is more widely available than a bank branch in many areas, and USPS money orders are recognized everywhere. If you don't have a bank account or nearby bank, the Post Office fee may be worth the reliability.
When you might need a money order instead of a check
Money orders are useful when the recipient doesn't trust personal checks or when you don't have a bank account. Landlords often request money orders because they're may provide funds — the money is already deducted from your account when you buy the order, so there's no risk of a bounced check. Government agencies, courts, and bail bondsmen frequently require money orders for the same reason.
Money orders are also safer to mail than cash or checks. If a money order is lost or stolen, you can contact USPS with your receipt and tracking number to report it and request a replacement. With cash, there's no recourse.
If you're sending money to someone you don't know well — a private seller, a contractor you've never worked with, or someone online — a money order protects you less than a credit card or bank transfer would. The recipient can cash it immediately and you have no way to reverse the transaction if they don't deliver what they promised.
Limits and restrictions on USPS money orders
You can buy up to $1,000 per money order, but there's no daily limit on how many you can purchase. If you need to send $3,000, you can buy three $1,000 money orders at the same time. Each one will cost you $1.95 in fees, for a total of $5.85 in fees on top of the $3,000.
Money orders do not expire, but they can be subject to state unclaimed property laws if they're not cashed for a very long time (usually five to seven years, depending on your state). Once a money order is cashed, it cannot be reversed or cancelled, even if it was sent to the wrong person by mistake.
You cannot buy a money order with another money order, and most Post Offices will not accept a personal check as payment. You must use cash, a debit card, or a credit card.
How to track a money order you've sent
Keep your receipt from the Post Office. The receipt has a tracking number printed on it. If the recipient says they never received the money order, or if you're unsure whether it was cashed, you can use that number to check the status.
Go to USPS.com and use the money order tracking tool, or call the USPS Money Order Inquiry Line at 1-800-555-1777. You'll need the receipt number and the amount of the money order. USPS can tell you whether the money order has been cashed and, if it has, where it was cashed.
If the money order was lost in the mail or stolen, USPS can issue a replacement once you've waited the required time (usually 30 days) and filed a claim with your receipt. This process takes several weeks, so money orders are not ideal for time-sensitive payments.
Frequently Asked Questions
Can I buy a money order online and have it mailed to me?
No. USPS does not sell money orders online or by mail. You must go to a Post Office location in person to purchase one. Some banks and credit unions may offer online money order services, but you'll need to check with your specific institution.
What happens if I write the wrong name on a money order?
If you make a mistake before you leave the Post Office, tell the clerk immediately. They can void the money order and issue a replacement at no extra charge. If you've already left, you cannot change the name — the money order can only be cashed by the person whose name is on it, or by someone with power of attorney over them.
Do I need an ID to buy a money order at the Post Office?
Most Post Offices do not require ID for money orders under $3,000. For larger amounts or if you're buying multiple money orders that total over $3,000, the Post Office may ask for ID as part of federal anti-money-laundering rules. Bring a driver's license or passport to be safe.
Can a money order be cashed by someone other than the person whose name is on it?
Only if that person signs the back of the money order and the recipient signs below them, similar to endorsing a check. The original recipient must be present or have signed it beforehand. If the money order is lost or stolen before it's endorsed, anyone can cash it.
Is a money order safer than a wire transfer?
They're different kinds of safe. A money order cannot be reversed once it's cashed, so if you send it to the wrong person, you've lost the money. A wire transfer also cannot be reversed, but you have a brief window to cancel it before it's sent. Both are riskier than a credit card or bank transfer that you can dispute.