Where you can cash a money order

You can cash a money order at a bank, credit union, grocery store, pharmacy, check-cashing service, or the U.S. Postal Service. The place that issued the money order will always cash it, but you do not have to go back there — most retailers and financial institutions will cash one from any issuer. Banks and credit unions typically cash them for free if you have an account there; other locations may charge a small fee, usually between $1 and $5.

The fastest option is often a grocery store or pharmacy near you, since they usually cash money orders during regular business hours without requiring an account. Post offices cash money orders they issued, and some will cash others. Check-cashing services will cash any money order but charge the highest fees. If you have a bank account, your bank is usually the cheapest choice.

Key Takeaways

  • You need the money order itself, a valid photo ID, and your signature on the back to cash it anywhere.
  • Banks and credit unions cash money orders free for account holders but may charge $5 to $10 for non-customers.
  • Grocery stores, pharmacies, and Walmart typically cash money orders for $1 to $3 and do not require an account.
  • The U.S. Postal Service caches money orders it issued and some from other issuers, with fees varying by location.
  • Money orders can take one to three business days to clear if deposited into an account rather than cashed when ready.

What you need to bring

Bring the money order itself, a valid photo ID, and be ready to sign the back. The ID must be government-issued — a driver's license, passport, state ID card, or military ID all work. Some locations will ask for a second form of ID or your phone number, but photo ID is the minimum requirement.

Make sure the money order is made out to you or to you and someone else. If it is made out to someone else entirely, you cannot cash it — the payee would need to sign it over to you first, and even then, many places will not accept a signed-over money order. Check the back of the money order to see if there is a line for a second payee or an endorsement area; if the money order is blank on the back, you will sign there when you cash it.

Cashing at a bank or credit union

Walk into any branch of your bank or credit union with the money order, your ID, and your account number (or debit card). Tell the teller you want to cash the money order. They will verify the money order is legitimate, check your ID, and ask you to sign the back. The funds are usually available when ready if you are a customer, or they may hold it for one business day depending on the bank's policy.

If you do not have an account at that bank, they may still cash it but will charge a fee — typically $5 to $10. Some banks refuse to cash money orders for non-customers entirely. Call ahead if you are not sure. Credit unions are often more flexible about cashing money orders for non-members, but fees and policies vary by location.

Cashing at a retail store

Walmart, grocery store chains like Kroger and Safeway, and pharmacies like CVS and Walgreens all cash money orders at their customer service desk or money services counter. Bring the money order, your ID, and be ready to sign the back. The fee is usually $1 to $3. You do not need an account or membership, though some stores require a membership card for their lowest prices on other items.

Hours vary by location — call the store ahead of time if you are going outside normal business hours. Some stores have limits on the amount they will cash in a single day, though this is rare for money orders under $1,000. If the store cannot cash it, they will tell you when ready rather than putting a hold on it.

Cashing at the Post Office

The U.S. Postal Service will cash any money order it issued. Bring the money order, your ID, and your signature. The teller will verify it and give you cash. There is no fee for postal customers, but non-customers may be charged a small fee depending on the location.

The Post Office will sometimes cash money orders from other issuers, but this varies by location and the issuer. Call your local Post Office before you go. If they cannot cash it, they can tell you where the issuer is located so you can go directly there, or you can take it to a bank or retail store instead.

Depositing instead of cashing

If you want to keep the money in a bank account rather than take cash, you can deposit the money order instead. Bring it to your bank or credit union with your ID and account number. You can also deposit it by mail — sign the back, write your account number on the money order, put it in an envelope with a deposit slip, and mail it to the address on your bank statement.

Deposited money orders usually clear within one to three business days. Some banks hold money orders longer than checks, so ask your bank what the hold period is. Mobile deposit (taking a photo of the money order through your bank's app) works for some banks but not all — check your bank's app to see if it accepts money orders.

What to do if the money order is lost or damaged

If the money order is lost, stolen, or damaged before you cash it, contact the issuer when ready. For postal money orders, call 1-866-459-7822 or go to a Post Office with your receipt (if you have it). For money orders from other issuers like Western Union or MoneyGram, contact them directly with your receipt and the money order number if you have it.

The issuer will put a trace on the money order to see if it has been cashed. If it has not been cashed, they can issue a replacement or refund. This process usually takes 30 to 60 days. If you no longer have the receipt, the issuer may still help you if you have the money order number or can provide details about when and where you bought it.

Common reasons a money order will not cash

A money order will not cash if it is made out to someone other than you, if it is damaged or illegible, if it has already been cashed, or if it is counterfeit. Some locations will refuse to cash a money order if the amount seems unusually large for that location, or if there is a discrepancy between the written amount and the numerical amount on the front.

If a location refuses to cash your money order, ask why. If they say it looks counterfeit or damaged, contact the issuer to verify it is real. If they say it is already been cashed, the issuer can tell you when and where. If the money order is made out to the wrong person, you will need the payee to sign it over to you, though many places still will not accept it even then.

Frequently Asked Questions

Can I cash a money order without a photo ID?

No. Every location that cashes money orders requires a valid government-issued photo ID. This is a federal requirement to prevent fraud and money laundering. If you do not have a photo ID, you will need to get one before you can cash the money order.

How long does it take to cash a money order?

If you are cashing it in person at a bank, store, or Post Office, you get the cash when ready — usually within five to ten minutes. If you are depositing it into a bank account, it takes one to three business days to clear, depending on your bank's policy.

Can someone else cash my money order for me?

No. The person whose name is on the money order must be present with a photo ID to cash it. If you want someone else to have the money, you can deposit it into a joint account, or you can cash it yourself and give them the cash.

What if the money order amount does not match the written amount?

Do not cash it. A discrepancy between the numbers and the words usually means the money order is counterfeit or was altered. Contact the issuer to verify it is real before you try to cash it anywhere.

Is there a fee to cash a money order at Walmart or a grocery store?

Yes, but it is small — usually $1 to $3. Some locations may not charge a fee at all. Call ahead to ask, or ask the customer service desk when you arrive. Banks typically charge $5 to $10 for non-customers but charge nothing for account holders.