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

You can cash a money order at a check-cashing store, a grocery store customer service desk, Walmart, or the post office where it was issued. The post office will cash any U.S. Postal Service money order for free if you have the original receipt or the money order itself. Check-cashing stores and retailers charge a fee—usually $1 to $5 depending on the amount—but they're open longer hours and don't require you to be a customer.

The fastest option is usually a check-cashing store or Walmart, because they process money orders in minutes. The post office can take longer if there's a line, but it's free and doesn't require ID in some cases if you have the receipt. Grocery stores often cash money orders only if you're a rewards member or make a purchase, so call ahead.

If the money order is from a bank or private issuer (not USPS), you'll need to go to that specific issuer or a check-cashing store. The issuer's name appears on the front of the money order. Private money orders sometimes carry higher fees at third-party locations.

Key Takeaways

  • The post office cashes USPS money orders free if you bring the original receipt or the money order itself.
  • Check-cashing stores and Walmart charge $1 to $5 per money order but are faster and have longer hours than the post office.
  • You'll need a valid ID at most locations; some post offices waive this if you have the receipt.
  • If the money order is from a bank or private company, take it to that issuer first or a check-cashing store that handles that brand.

What ID and documents you need to bring

Most places require a valid photo ID to cash a money order. A driver's license, state ID, or passport works. Some check-cashing stores also accept military ID or tribal ID. If you don't have a photo ID, call ahead—a few locations may cash small money orders with alternative proof like a utility bill or lease, but this is rare and depends on the store's policy.

For USPS money orders, bring the receipt if you have it. The receipt shows the serial number and amount, which speeds up verification. If you've lost the receipt, bring the money order itself and your ID; the post office can still cash it, but it may take longer because they'll need to verify the money order wasn't already cashed.

If someone else issued the money order to you, the name on the money order doesn't have to match your ID. The issuer's name and your name are separate fields. What matters is that you have valid ID and the money order itself.

Fees and what you'll actually receive

The post office charges no fee to cash a USPS money order. You get the full face value in cash. Check-cashing stores typically charge $1 to $3 for money orders under $500 and $3 to $5 for larger amounts, though some charge a flat percentage (usually 1 to 3 percent). Walmart charges around $3 for most money orders. Grocery stores vary widely—some charge $2 to $4, others charge nothing if you're a member.

The fee comes out of what you receive. If you're cashing a $100 money order at a check-cashing store charging $3, you walk out with $97. Always ask the fee before you hand over the money order. Some stores post fees on the wall; others will tell you when you ask.

If the money order is damaged, torn, or has writing on it that obscures key information, some locations will refuse to cash it or will charge a higher fee to verify it. Keep money orders in good condition until you cash them.

How long it takes to get your cash

Check-cashing stores and Walmart usually cash money orders in 5 to 15 minutes. The cashier scans or enters the money order number, verifies the amount, checks your ID, and hands you cash. There's no waiting period or hold.

The post office typically takes 10 to 30 minutes depending on how busy the location is. If you go during off-peak hours (early morning or mid-afternoon on a weekday), it's faster. If you go on a Saturday or near the end of the month, expect a longer wait.

If the money order is damaged or the serial number is unclear, verification can take longer—sometimes a few hours or a day. The location may need to contact the issuer to confirm it hasn't been cashed already. This is rare, but it happens if the money order has been folded, wet, or written on.

What happens if the money order is lost or damaged

If you've lost a money order before cashing it, contact the issuer immediately. For USPS money orders, call 1-866-459-7822 or visit usps.com and use the "Track & Confirm" tool with the serial number (printed on the money order). You'll need the receipt or the serial number. USPS can tell you if it's been cashed and can issue a replacement if it hasn't.

For bank or private money orders, contact the bank or company that issued it. The issuer's name and phone number are on the money order. They'll ask for proof of purchase (your receipt) and may charge a replacement fee of $5 to $15.

If the money order is damaged but still readable, most locations will still cash it. If key numbers or the issuer's name are illegible, the location may refuse it or send it to the issuer for verification, which can take several days. Don't write on a money order or fold it in ways that obscure the printed information.

Alternatives if you can't find a location nearby

If there's no check-cashing store or post office near you, some banks will cash a money order even if you don't have an account—ask at the customer service desk. Many banks cash USPS money orders free or for a small fee ($2 to $5). You'll need your ID, and some banks limit this to customers only, so call first.

Online payment services like PayPal or Square Cash don't cash physical money orders, but you could ask the person who sent you the money order to send the funds a different way instead—through a bank transfer, wire, or digital payment app. This only works if you can reach them before they've already bought the money order.

If you're in a rural area with no nearby options, the post office is your most reliable choice because there's a post office in nearly every town. You can also mail the money order to someone you trust who has a bank account and ask them to deposit it and send you the cash, though this adds time and risk.

Frequently Asked Questions

Do I need to endorse the back of a money order before cashing it?

Yes. Most locations require you to sign the back of the money order before they cash it. Some will have you sign in front of them; others will hand it back unsigned and ask you to sign it yourself. Check the back of the money order for a "Payee Signature" line and sign your name there.

What if the money order has someone else's name on it?

If the money order is made out to someone else and you're not that person, you cannot cash it. The payee (the person the money order is addressed to) must cash it or sign it over to you in writing on the back. If they sign it over, most locations will still require their ID as well as yours.

Can I cash a money order at a gas station or convenience store?

Some do, but it's not common. Call ahead to ask. Most gas stations and convenience stores don't have the systems to verify money orders, so they typically don't offer this service. Check-cashing stores and Walmart are more reliable options.

What if the money order amount is very large?

Money orders are usually capped at $1,000 per order by most issuers, though some allow up to $5,000. If you have multiple money orders, you can cash them one at a time at the same location. There's no legal limit on how much cash you can receive, but locations may ask why you're cashing a large amount. This is normal and not a problem—they're just following anti-money-laundering rules.

Can I deposit a money order into someone else's bank account?

No. A money order must be cashed by the payee or someone they've signed it over to. You cannot deposit it into an account that doesn't belong to the payee without their signature on the back. If you need to get money to someone else, cash it and give them the cash, or ask them to cash it themselves.