Where to cash a money order if you don't have a bank

You can cash a money order at a check-cashing store, grocery store, Walmart, or the post office — you do not need a bank account. The most common route is a check-cashing service, which will cash it on the spot for a fee (usually $1 to $5 depending on the amount). Grocery stores with customer service desks and Walmart also cash money orders, often for lower fees than dedicated check-cashing shops. The post office cashes money orders it issued, but not all money orders from other issuers.

The key difference between these places is speed, fee, and what they require. A check-cashing store will take almost any money order and hand you cash within minutes. A grocery store may have lower fees but longer lines. The post office is cheapest but only works if you have the receipt or if the money order was issued there. All of them will ask for ID — usually a driver's license or state ID card.

Key Takeaways

  • Check-cashing stores, grocery stores, and Walmart all cash money orders without requiring a bank account, though fees range from $1 to $5.
  • You must bring a valid government-issued ID (driver's license or state ID) to cash a money order anywhere.
  • The post office cashes money orders it issued if you have the receipt, but will not cash money orders from other issuers without one.
  • Money orders are safer than cash to send through the mail because they can be replaced if lost or stolen, as long as you kept the receipt.
  • If a money order is damaged, torn, or has the wrong name, the issuer can issue a replacement, but you will need proof of purchase.

What to bring when you cash a money order

Bring the money order itself and a valid government-issued ID. A driver's license, state ID card, or passport will work at any location. Some check-cashing stores may also ask for a second form of ID or a phone number, but this varies by location and by how much money the order is for.

If the money order is made out to someone else and you are trying to cash it on their behalf, you will need that person's signature on the back of the money order and their ID as well. If the money order is made out to "Cash" or to you by name, only your ID is needed. If you lost the receipt and are trying to cash a money order at the post office, bring whatever documentation you have that proves you paid for it — a bank statement, email confirmation, or credit card receipt.

How much you will pay in fees

Check-cashing stores typically charge $1 to $5 per money order, depending on the amount. A $500 money order might cost $3 to $5 to cash, while a $100 order might cost $1 to $2. Grocery stores and Walmart often charge less — sometimes $0.50 to $2 — because they use it to draw customers in. The post office charges nothing to cash a money order it issued, but charges a small fee (usually $1 to $1.50) to cash money orders from other issuers.

Call ahead or check the store's website before you go, because fees vary by location and by the issuer of the money order. Some check-cashing chains post their rates online. If you are cashing a large amount, the fee difference between a check-cashing store and a grocery store can add up — a $1,000 money order might cost $5 at one place and $1 at another.

What happens if the money order is damaged or has the wrong name

If the money order is torn, faded, or damaged enough that the amount or issuer cannot be read, most places will refuse to cash it. In that case, contact the issuer (usually printed on the front) and ask for a replacement. You will need to provide proof of purchase — the receipt, a bank statement, or a credit card statement showing the transaction. The issuer will issue a new money order, which usually takes 5 to 10 business days.

If the money order has the wrong name on it, you cannot cash it unless the person whose name is on it signs the back and provides ID. If you paid for a money order and the cashier wrote the wrong name, go back to where you bought it immediately with your receipt. Most places will reissue it with the correct name on the spot, or within one business day. If you bought it more than a few days ago, contact the issuer directly — they can issue a replacement, but the process takes longer.

How to replace a lost or stolen money order

If you lost the money order but still have the receipt, contact the issuer and provide the receipt number, the amount, and the date you bought it. The issuer will check whether the money order has been cashed. If it has not been cashed, they will issue a replacement. If it has already been cashed, you cannot recover the money — the person who cashed it is now the owner.

This is why keeping the receipt is critical. Write the receipt number on the back of the money order itself, or store the receipt separately from the money order. If you are sending a money order through the mail, keep a copy of the receipt until the recipient confirms they received and cashed it. If the money order was stolen and cashed by someone else before you reported it lost, the issuer will not replace it — the money is gone. However, if you report it lost before anyone cashes it, you are protected.

Money orders vs. other ways to send cash

A money order is safer than sending cash through the mail because it can be replaced if lost or stolen (as long as you have the receipt). Cash cannot be replaced — if it is lost or stolen, it is gone. A money order is also safer than a personal check because it is may provide by the issuer, so the recipient knows the money is real and will not bounce.

Wire transfers and peer-to-peer apps like Venmo or PayPal are faster if you have a bank account or a smartphone, but they require a bank account or a linked card. Money orders do not. If you need to send money to someone and do not have a bank account, a money order is one of the most reliable ways to do it. The trade-off is that it takes longer (1 to 3 days by mail) and costs a small fee to buy and sometimes to cash.

Frequently Asked Questions

Can I cash a money order at any bank, even if I don't have an account there?

Most banks will not cash a money order for someone without an account. Some banks will cash a money order they issued, but not money orders from other issuers. Your best option is a check-cashing store, grocery store, or Walmart, which do not require an account.

What if the money order is made out to my business name instead of my personal name?

Bring your business registration or tax ID along with your personal ID. Some check-cashing stores will cash it, but others may refuse if the name on the money order does not match your personal ID exactly. Call ahead to confirm the store will accept it before you go.

How long does it take to cash a money order?

At a check-cashing store, grocery store, or Walmart, it usually takes 5 to 15 minutes. At the post office, it may take longer if there is a line. If the money order is damaged or the name is wrong, the process stops and you will need to contact the issuer for a replacement, which takes 5 to 10 business days.

Can I cash a money order online or by mail?

No. You must present the money order in person with a valid ID. Some banks will deposit a money order into an account if you have one, but you cannot cash it remotely without a bank account. You must go to a physical location.

What if I don't have a government-issued ID?

Most places will not cash a money order without one. If you do not have a driver's license or state ID, apply for a state ID card at your local DMV — it is cheaper than a driver's license and serves the same purpose for cashing money orders. Some check-cashing stores may accept a passport or tribal ID, but call first to confirm.