Most banks offer money orders, but not all, and the process varies by institution

You can get a money order at many banks, but availability depends on the bank itself. Large national banks like Chase, Bank of America, and Wells Fargo typically offer them at most branches. Credit unions often do as well, though you may need to be a member. Smaller regional banks sometimes don't stock them or require advance notice. The fastest way to find out is to call your branch directly and ask whether they have money orders in stock that day.

When you can get one at your bank, the process is straightforward: you go to a teller, provide the amount you want, give the recipient's name, and pay a fee. The fee varies by bank—typically between $5 and $10, though some banks charge less. You'll receive the money order when ready, and you can use it the same day.

If your bank doesn't offer money orders or has run out, you have other options: the post office, Walmart, grocery stores with money services, and check-cashing businesses all sell them. These alternatives are often cheaper than banks and have longer hours, which matters if you need one outside business hours.

Key Takeaways

  • Call your bank first to confirm they have money orders in stock, since some branches run out or don't carry them.
  • Bank fees for money orders typically range from $5 to $10, which is often higher than what you'll pay at the post office or Walmart.
  • You'll need to provide the recipient's name and the exact amount, and you'll receive the money order when ready.
  • If your bank doesn't offer them, the post office and Walmart are usually cheaper alternatives with more convenient hours.

What information you need to bring

You need three things: the amount of money you want to send, the recipient's name (spelled correctly), and the money to pay for it plus the fee. Some banks also ask for an ID, though many don't require it for money orders under a certain amount. Call ahead to ask what your branch needs.

You do not need to have an account at the bank to buy a money order there, though some banks prefer or require it. If you're not a customer, ask on the phone whether they'll sell you one. A few banks limit money orders to account holders only.

How long it takes and when you can use it

The transaction itself takes five to ten minutes. You walk up to a teller, provide the information, pay the fee, and walk out with the money order in hand. You can use it when ready—there's no waiting period. The recipient can cash it or deposit it the same day you receive it.

Money orders don't expire, but they do become harder to cash after a certain period. Most money orders issued by banks are valid for one to three years from the date of issue. After that, the recipient can still cash them, but they may need to contact the issuer (your bank) to verify it. For this reason, it's best to deliver or mail a money order within a few weeks of getting it.

Bank fees compared to other places

LocationTypical FeeHoursMembership Required
Bank$5–$10Business hours onlyVaries by bank
Post Office$1.45–$2.00Extended hours, some locations open SaturdayNo
Walmart$0.70–$1.00Store hours (often 6 a.m.–11 p.m.)No
Check-cashing business$2–$5Often open evenings and weekendsNo

Banks are the most expensive option for money orders. If cost matters, Walmart and the post office are significantly cheaper. Walmart's fees are the lowest, but not all Walmart locations offer money orders—call first. The post office is reliable and available in nearly every town, with fees that fall between Walmart and banks.

When you're deciding where to buy, consider both the fee and the hours. A bank money order costs more but is available during business hours at your branch. Walmart and the post office cost less and have extended hours, making them better if you need one outside typical banking times or want to save money.

What happens if your bank doesn't have them in stock

Some branches run out of money orders, especially on busy days or in smaller locations. If yours doesn't have any, ask whether they can order them for you. Many banks can have them in by the next business day, though a few require longer. This is why calling ahead matters—you avoid a wasted trip.

If you need a money order the same day and your bank can't provide one, go to Walmart, the post office, or a check-cashing business instead. All three typically have them in stock and can complete the transaction in minutes. The post office is the most reliable for availability, since it's a federal service with consistent stock levels.

Limits on how much you can send

Most banks limit individual money orders to $1,000. If you need to send more than that, you'll have to buy multiple money orders. Some banks set lower limits—$500 or $750—so ask your branch what theirs is. The post office has the same $1,000 limit per money order.

There's no limit on how many money orders you can buy in a single transaction, so you can purchase five $1,000 money orders if you need to send $5,000. You'll pay the fee for each one, though, so the total cost adds up. For very large amounts, a bank wire or cashier's check may be cheaper and faster.

Frequently Asked Questions

Do I need a bank account to get a money order at a bank?

Most banks will sell money orders to non-customers, but some require you to have an account. Call your branch and ask. If they won't sell to you, the post office and Walmart will, with no account or membership needed.

What's the difference between a money order and a cashier's check?

A cashier's check is issued by a bank and typically costs $10–$15, but it's safer for large amounts and clears faster. A money order is cheaper but has a lower limit per order ($1,000 at most banks). For amounts under $1,000, a money order is usually the better choice.

Can I cancel a money order after I've bought it?

Yes, but it's complicated. You'll need to contact the bank that issued it, provide proof of purchase, and wait for them to verify it hasn't been cashed. The process takes weeks, and you may be charged a fee. It's easier to avoid this by double-checking the recipient's name before you pay.

What if the money order gets lost in the mail?

Contact the bank that issued it and ask for a replacement. You'll need your receipt and proof of purchase. The bank will verify the original hasn't been cashed, then issue a new one. Keep your receipt until the recipient confirms they've received and cashed it.

Is a money order safer than sending cash?

Yes. Cash can be lost or stolen with no recourse. A money order has a serial number and can be traced. If it's lost or stolen before the recipient cashes it, you can report it and get a replacement. The recipient's name is printed on it, so only they can cash it.