Yes, you can cash a money order at most banks, but not all branches handle them the same way

Banks will cash a money order if you have an account there, and many will cash one even if you don't — but the second option usually costs you a fee. The process is straightforward: you sign the back, hand it over, and they verify the funds before giving you cash or depositing it to your account. The catch is that some banks have stopped cashing third-party money orders (ones made out to someone else who then signed it over to you), and a few large banks now require you to deposit rather than cash them outright.

The fastest route is your own bank during business hours. If you don't have a bank account, a check-cashing store will do it for a percentage of the amount — usually 1 to 3 percent, though it varies by location and the money order issuer. Retail stores like Walmart and grocery chains also cash money orders, often for a flat fee of $3 to $6.

Key Takeaways

  • Banks cash money orders for account holders with no fee, but non-account holders usually pay $5 to $15 depending on the bank.
  • You must sign the back of the money order and bring a government-issued ID; the bank verifies the funds before handing over cash.
  • Some banks no longer cash third-party money orders (ones signed over to you by someone else), so call ahead if that applies to you.
  • Check-cashing stores and Walmart typically charge 1 to 3 percent of the money order value, which is often cheaper than a bank fee for small amounts.
  • Money orders issued by the U.S. Postal Service, Western Union, and MoneyGram are accepted at virtually all banks; lesser-known issuers may be refused.

What banks need from you to cash a money order

Bring the money order itself and a government-issued photo ID — a driver's license, passport, or state ID card. Sign the back of the money order in front of the teller; do not sign it beforehand. The bank will check that the amount, payee name, and issuer match what they see, then verify the funds are available through the issuer's system.

If you have an account at the bank, the process takes five to ten minutes. If you don't, the teller will ask whether you want cash or want to open an account and deposit it. Some banks will not cash a money order for a non-account holder under any circumstances — Chase and Bank of America have tightened these policies in recent years — so call the specific branch before you go.

Banks that charge fees for non-account holders

Most regional and community banks will cash a money order for a non-account holder for $5 to $10. Larger national banks typically charge $10 to $15, and some refuse outright. Wells Fargo, for example, generally requires you to have an account or will direct you to cash it elsewhere.

The fee applies only if you are not an account holder. If you have even a basic savings account at that bank, you cash it for free. This is one reason people open accounts at smaller banks or credit unions — the fee structure is often more lenient, and staff are more likely to know the actual policy rather than following a corporate rule they cannot override.

Third-party money orders and why some banks refuse them

A third-party money order is one made out to Person A, who then signed it over to you (Person B) by signing the back and writing "Pay to the order of [Your Name]." Banks increasingly refuse these because they create fraud risk — the bank cannot easily verify that Person A actually authorized the transfer, and if the money order turns out to be counterfeit or stolen, the bank is liable.

If you have a third-party money order, your best option is a check-cashing store, which will usually accept them for a fee. Walmart and other retailers may also cash them, though policies vary by location. Call ahead rather than showing up with a money order they will not take.

Money order issuers that banks will and won't accept

U.S. Postal Service money orders, Western Union, and MoneyGram are accepted at virtually every bank. These three issuers dominate the market and have established relationships with the banking system, so verification is fast and reliable.

Money orders from smaller issuers — regional check-cashing chains, some grocery stores, or lesser-known payment services — may be refused. The bank's system may not recognize the issuer, or the issuer may not be registered with the banking verification network. If you are unsure whether your money order will be accepted, call the bank's customer service line and describe the issuer. They can tell you in one call whether they will cash it.

Cashing a money order without a bank account

Check-cashing stores are the most common option. They charge a percentage of the money order value — typically 1 to 3 percent — which means a $500 money order costs $5 to $15 to cash. The fee is usually lower than a bank's flat fee for non-account holders, especially on larger amounts. You will need a government-issued ID and must sign the back of the money order in front of the cashier.

Walmart cashes money orders for a flat fee of $3 to $6, depending on the location and the money order issuer. Grocery chains like Kroger, Safeway, and Publix also offer this service, usually for $3 to $5. These retail options are often faster than a bank and require only an ID and your signature. Some also cash third-party money orders, though you should confirm at your specific location.

How long it takes and what happens if something is wrong

Cashing a money order at a bank or retail location takes five to fifteen minutes if everything is in order. The teller or cashier verifies the funds through the issuer's system, which is usually when ready. If the money order is damaged, the amount is unclear, or the issuer cannot be reached, the process stalls — the teller will tell you they cannot complete it and may ask you to come back later or contact the issuer yourself.

If a money order is reported lost or stolen before you cash it, the issuer will refuse to pay. If you are cashing one that someone else gave you and it turns out to be counterfeit, the bank will reverse the transaction and you will owe the money back. This is rare with major issuers like USPS and Western Union, but it happens with smaller or unfamiliar issuers. If you are unsure about a money order's legitimacy, ask the issuer directly before attempting to cash it.

Frequently Asked Questions

Do I need to be a customer of the bank to cash a money order there?

No, but non-customers usually pay a fee of $5 to $15. Some large banks refuse to cash money orders for non-customers entirely. Call the specific branch first to confirm they will do it and what the fee is.

What if I lost the money order or it's damaged?

Contact the issuer (USPS, Western Union, MoneyGram, or whoever issued it) with your receipt or proof of purchase. They can issue a replacement, though the process takes one to two weeks. Do not attempt to cash a damaged money order — the bank will refuse it.

Can I deposit a money order instead of cashing it?

Yes. If you have a bank account, you can deposit a money order just like a check. Sign the back, write your account number on it, and hand it to a teller or deposit it through an ATM. Depositing is often faster than cashing because the bank does not have to count out cash.

What if the money order is made out to a business, not me?

You cannot cash it. Only the named payee can cash or deposit a money order. If the business wants to give you the money, they must cash it themselves and give you the cash, or sign it over to you (making it a third-party money order, which many banks refuse).

Is there a limit to how much I can cash at once?

Banks and retailers do not typically limit the amount of a single money order you can cash. However, if you are cashing multiple money orders in one day, the bank may report it to the IRS under structuring rules if the total exceeds $10,000. This is not illegal, but the bank will document it.