Post Office Money Order Costs

A money order at the United States Postal Service costs between $1.45 and $6.45, depending on the amount. Orders up to $500 cost $1.45. Orders from $500.01 to $1,000 cost $6.45. You pay this fee at the time you buy the money order — it is added to the total amount you hand over to the postal clerk.

The fee does not change based on where you buy it or what day of the week you buy it. Every post office charges the same rate. You cannot negotiate the price or find a discount version.

If you need a money order for more than $1,000, you will need to buy multiple money orders. For example, a $2,500 payment would require three money orders: two for $1,000 each (at $6.45 each) and one for $500 (at $1.45), for a total fee of $18.35.

Key Takeaways

  • Post office money orders cost $1.45 for amounts up to $500 and $6.45 for amounts between $500.01 and $1,000.
  • The fee is the same at every post office location and does not vary by region or time of purchase.
  • You pay the fee upfront when you buy the money order; it is not deducted from the amount the recipient receives.
  • Amounts over $1,000 require buying multiple money orders, which means paying multiple fees.
  • You need cash, a debit card, or a credit card to buy a money order; personal checks are not accepted.

What You Need to Bring

Bring the cash or card you will use to pay. You do not need an ID to buy a money order at the post office, though the clerk may ask for one. You do need to know the recipient's name and address — you will write these on the money order itself.

If you are buying the money order to pay a bill or send it to an organization, bring the account number or reference number the recipient gave you. Write this information down before you go to the post office so you do not forget it while you are in line.

How the Purchase Works

Tell the postal clerk you want to buy a money order and give them the amount. They will tell you the total cost including the fee. You pay that amount — for example, if you want a $300 money order, you pay $301.45 total.

The clerk fills in the money order with the amount and gives you a receipt. You then write the recipient's name and address on the money order itself. The clerk may ask you to sign it. Take your receipt and keep it until the money order is cashed; the receipt is your proof of purchase if something goes wrong.

The money order is ready to mail or hand deliver immediately. There is no waiting period.

Comparing Post Office Fees to Other Places

Banks, credit unions, and check-cashing stores also sell money orders, and their fees vary. Some banks charge less than the post office for small amounts; others charge more. Check with your own bank first if you have an account there — many offer money orders free or at a lower rate to customers.

Walmart and other retailers sell money orders through MoneyGram or Western Union, typically for $0.88 to $1.98 depending on the amount. These are cheaper than the post office for most transactions, though the maximum amount is usually lower (often $1,000 or less).

The trade-off is convenience and location. The post office is open during standard business hours and closed on Sundays and federal holidays. Walmart and some check-cashing stores have longer hours and weekend availability.

When the Post Office Charges Extra

If you lose your money order receipt and need to file a claim to get your money back, the post office charges a replacement fee. This fee is separate from the original purchase fee. Keep your receipt in a safe place to avoid this cost.

If you need to cancel a money order you already bought, the post office will refund your money minus a cancellation fee. This fee is typically $1.00 but can vary. You must have your receipt to request a cancellation.

Frequently Asked Questions

Can I buy a money order with a credit card?

Yes, most post offices accept credit cards for money order purchases. Some locations may have limits on credit card transactions or require a minimum purchase amount, so call ahead if you want to confirm your local post office accepts cards.

What if I make a mistake filling out the money order?

If you write the wrong name or address on the money order before it is cashed, you cannot change it. You will need to buy a new money order and request a cancellation of the first one, which costs an additional fee. Write carefully or ask the clerk to help you before you sign.

How long does it take for a money order to reach someone?

The money order itself arrives when your mail arrives — typically one to three business days if mailed locally, longer for distant addresses. Once the recipient receives it, they can cash it immediately at their bank or post office. There is no processing delay on the recipient's end.

Is there a limit to how many money orders I can buy at once?

The post office does not have a stated limit on the number of money orders you can purchase in a single transaction. However, if you are buying many at once, the clerk may ask questions about the purpose, as this can trigger fraud monitoring.

What happens if a money order is never cashed?

Money orders do not expire, but the post office may place a hold on the funds after a certain period of inactivity — typically one to three years depending on your state. You can still cash it after that period, but you may need to contact the post office with your receipt to claim it.