Yes, most banks offer money orders, though not all branches carry them in stock

Many banks do issue money orders, but availability varies by institution and location. Some large national banks like Bank of America, Wells Fargo, and Chase offer them at most branches. Smaller regional banks and credit unions may offer them too, but you should call ahead to confirm your specific branch has them in stock — some branches only order them on request, which takes a few days.

Money orders work differently from cashier's checks. A money order is a paper document you buy for a set amount of money, similar to a prepaid check. You fill in the recipient's name and sign it, and the recipient cashes it like a check. Banks charge a fee for issuing them — typically $5 to $10 per money order, though this varies. You pay the face value of the money order plus the fee upfront.

If your bank doesn't offer money orders or the branch is closed, you can also buy them at post offices, grocery stores, Walmart, and other retailers. Post offices are widely available and charge around $1.45 to $2.00 per money order depending on the amount.

Key Takeaways

  • Banks issue money orders at most branches, but some require advance notice or may not stock them at all — call your branch first.
  • You pay the full face value of the money order plus a bank fee (usually $5 to $10) when you buy it.
  • Money orders are safer than cash or personal checks because they cannot bounce and the recipient's identity is not exposed to the payer.
  • Post offices, grocery stores, and Walmart also sell money orders for lower fees than banks, typically $1.45 to $2.00.
  • Unlike a cashier's check, a money order is a smaller document meant for amounts under $1,000 in most cases.

How to buy a money order at your bank

Go to your bank branch during business hours with your debit card or checkbook to prove you have an account. Tell the teller you want to buy a money order and provide the amount. The teller will ask you for the recipient's name — this is the person or business who will cash or deposit the money order.

You will then sign the money order in front of the teller. The teller will give you the original and keep a receipt for your records. The whole process takes about five minutes. You pay the full amount plus the fee at that time, usually by debit card or from your account.

Some banks require you to have an account with them to buy a money order. A few will sell them to non-customers, but this is less common. If you do not have a bank account, a post office or grocery store money order is usually your faster option.

Money orders versus cashier's checks: which to use

Both are find payment methods that cannot bounce, but they serve different purposes. A cashier's check is issued by a bank and is typically used for larger amounts — real estate transactions, car purchases, or payments over $1,000. A money order is smaller and less formal, used for everyday payments like rent, utility bills, or sending money to someone without a bank account.

Cashier's checks require the bank to verify funds and print the check, which takes longer and costs more (usually $10 to $15). Money orders are faster to issue and cheaper at a bank, but post offices and retailers offer them for even less. If you need the payment same-day and the amount is under $1,000, a money order is usually the better choice. For larger amounts or formal transactions, a cashier's check is more appropriate.

Money orders also have a maximum face value — most banks and post offices cap them at $1,000 per order, though you can buy multiple orders. Cashier's checks have no practical limit.

When to buy a money order instead of a cashier's check

Use a money order when you need to send payment to someone who does not have a bank account, when the amount is under $1,000, or when you need it quickly and inexpensively. Money orders are also useful if you want to keep the transaction private — the recipient does not see your bank account number or personal check information.

Money orders are also a good choice if you are paying a bill by mail and want proof of payment. The receipt you get shows the amount, the date, and the recipient, which protects you if there is a dispute. Utility companies, landlords, and government agencies often accept money orders without question.

If you are sending money to someone you do not know well or paying a stranger, a money order is safer than cash because it can be traced and stopped if it is lost or stolen before the recipient cashes it.

What happens if a money order is lost or stolen

If you lose a money order before the recipient cashes it, contact your bank or the issuer (post office, Walmart, etc.) right away. You will need the receipt number from your purchase. The issuer can put a stop on the money order so it cannot be cashed by someone else.

To get a replacement, you will typically need to wait 30 to 90 days to confirm the original was not cashed, then request a refund. Some issuers charge a replacement fee. This is why keeping your receipt is important — it has the money order number and the date of purchase.

If the money order has already been cashed by someone else, recovery is difficult. This is why sending money orders by certified mail (if mailing them) is a good idea — it proves delivery and gives you a tracking number.

Money order fees at different places

IssuerTypical FeeMaximum AmountSpeed
Bank$5–$10$1,000–$5,000Same day (if in stock)
Post Office$1.45–$2.00$1,000Same day
Walmart$0.88–$1.25$1,000Same day
Grocery Store$1.00–$2.00$1,000Same day

Banks charge the most for money orders but offer them as part of your account relationship. Post offices are more expensive than retailers but are widely available and trusted. Walmart and grocery stores are the cheapest option and are open longer hours than banks.

If you need multiple money orders, buying them from a retailer instead of a bank will save you money. For a single money order under $500, the difference in fee is small, but for larger amounts or multiple orders, the savings add up.

Frequently Asked Questions

Can I buy a money order without a bank account?

Yes. Banks usually require an account, but post offices, Walmart, and grocery stores sell money orders to anyone with cash or a debit card. You do not need to be a customer or member. Post offices are open six days a week in most areas, making them a reliable option if you do not have a bank account.

What is the maximum amount for a money order?

Most money orders cap at $1,000 per order. If you need to send more, you can buy multiple money orders. Some banks offer higher limits on money orders for account holders, but $1,000 is the standard at post offices and retailers.

Can a money order bounce like a personal check?

No. A money order cannot bounce because you pay the full amount upfront when you buy it. The issuer (bank, post office, or retailer) guarantees the funds. This makes it as safe as a cashier's check, just smaller and cheaper.

How long does it take to cash a money order?

Cashing a money order is like cashing a check. If you deposit it at your bank, it typically clears within one to three business days. If you cash it at the issuer (post office, Walmart), you usually get cash when ready, though some places may hold it for verification.

Do I need the receipt to cash a money order?

No. The recipient does not need your receipt to cash the money order — they only need the money order itself and a valid ID. You keep the receipt for your records in case the money order is lost or you need proof of payment.