Yes, most banks offer money orders, but not all of them, and the process varies

Many banks do sell money orders to their customers, but it is not may provide at every branch or every bank. Large national banks like Bank of America, Wells Fargo, and Chase typically offer them, though you may need to ask a teller or call ahead to confirm. Smaller regional banks and credit unions are less consistent — some sell them regularly, others do not offer them at all.

The reason banks sometimes skip money orders is straightforward: they are not very profitable. A money order costs you a small fee (usually $5 to $10), and the bank keeps only a portion of that. Many banks have decided it is not worth the staff time and paperwork, especially when customers can get them elsewhere more easily.

If your bank does offer money orders, you will need to go in person during business hours, bring a valid ID, and have enough cash or a debit card to cover both the amount of the money order and the fee. The teller will fill it out with you, take your payment, and give you the completed money order.

Key Takeaways

  • Large national banks usually sell money orders, but regional banks and credit unions often do not, so calling ahead saves a trip.
  • You will pay a fee of roughly $5 to $10 per money order, plus the face amount you want the money order to be for.
  • The post office, grocery stores, and check-cashing services are faster and more reliable alternatives if your bank does not offer them.
  • You need a valid ID and cash or a debit card to buy a money order at a bank, and the process takes about 10 minutes.

How to buy a money order at your bank

Start by calling your bank's main number or visiting a branch in person and asking whether they sell money orders. If they do, ask what hours they are available and whether you need an account with that bank (most do not require one, but some do). Write down the fee so you know how much cash to bring.

When you go to the branch, bring your valid ID — a driver's license, passport, or state ID card. You will also need enough cash or access to a debit card to cover the full amount of the money order plus the fee. For example, if you want a $500 money order and the fee is $7, bring $507.

At the teller window, tell them you want to buy a money order. They will ask you for the name of the person or business the money order is going to (called the payee), the amount, and your ID. They will fill out the money order, take your payment, and give you the completed money order. The whole process usually takes 5 to 10 minutes.

When banks are not your best option

The post office is often faster and more reliable than a bank for money orders. Post offices are open on Saturdays at many locations, they rarely run out of money order stock, and the fees are usually lower than banks charge. A money order at the post office typically costs $1.45 to $2.00, depending on the amount, compared to $5 to $10 at a bank.

Grocery stores and pharmacies with money order services (like Walmart, Kroger, and CVS) are another option. These places are often open longer hours than banks, and their fees are usually similar to the post office. The downside is that not every location offers money orders, so you may need to call ahead.

Check-cashing services and payday loan stores almost always have money orders available, though their fees tend to be higher than banks or the post office. Use these only if you cannot reach the post office or a grocery store during their hours.

What to know about bank money order fees

Bank fees for money orders vary widely. Some banks charge a flat $5 to $10 per money order, while others charge a percentage of the amount (usually 1 to 2 percent). A few banks offer information programs orders to customers who meet certain requirements, such as maintaining a minimum balance or having direct deposit set up.

Ask your bank specifically what they charge before you go in. If the fee seems high, compare it to the post office ($1.45 to $2.00) or a grocery store before you decide. The difference can add up if you are buying multiple money orders.

Some banks will waive the fee if you are a long-standing customer or if you ask politely, especially if you have a good account history with them. It never hurts to ask, but do not count on it.

Money orders from banks versus other sources

SourceTypical FeeHoursSpeed
Bank$5 to $10Weekdays only, usually 9 AM to 5 PM5 to 10 minutes
Post Office$1.45 to $2.00Weekdays and many Saturdays5 to 10 minutes
Grocery Store or Pharmacy$1.50 to $3.00Often open until 10 PM or later5 minutes
Check-Cashing Service$3 to $8Often open evenings and weekends5 minutes

What happens after you buy a money order

Once you have the completed money order in your hand, treat it like cash — do not lose it or let it get wet. Write down the serial number (a long number printed on the money order) in a safe place, in case you need to report it lost or stolen later.

Mail the money order to the person or business it is made out to, or deliver it in person. The recipient will take it to their bank and deposit it like a check. Money orders typically clear within 3 to 5 business days, though some banks process them faster.

Keep your receipt from the bank until the money order has been cashed and cleared. If something goes wrong — the money order gets lost in the mail, for example — you will need the receipt and serial number to file a claim with the bank or post office.

Frequently Asked Questions

Do I need to have a bank account to buy a money order at a bank?

Most banks will sell a money order to anyone with a valid ID, whether or not you have an account there. However, some smaller banks or credit unions may require you to be a member. Call ahead to ask before you make the trip.

What if my bank does not offer money orders?

Go to the post office, a grocery store, or a pharmacy instead. These places almost always have money orders available, the fees are lower, and the hours are often more convenient than a bank.

Can I buy a money order with a credit card?

Most banks and post offices do not accept credit cards for money orders because they consider it a cash advance. Bring cash or a debit card instead. Some grocery stores may accept credit cards, so ask when you call.

How long does a money order take to clear?

Money orders typically clear within 3 to 5 business days after the recipient deposits them. Some banks process them faster, sometimes within 1 to 2 days. Ask the recipient's bank if you need it to clear quickly.

What if I lose a money order?

Contact the bank or post office where you bought it right away with your receipt and the serial number. They can file a claim and issue a replacement, though the process may take several weeks. This is why keeping your receipt is important.