Banks and credit unions are your fastest option, but you'll need an account
Your own bank or credit union will cash a money order for free if you have a checking or savings account with them. Walk in with the money order and your ID, and they'll deposit it to your account or hand you cash on the spot. This takes minutes. If you don't have an account there, most banks will still cash it, but they may charge a fee — typically $5 to $15 — or require you to open an account.
Credit unions are often more flexible than banks about cashing money orders from non-members, and their fees tend to be lower. Call ahead to confirm they'll cash it and what they'll charge.
Key Takeaways
- Your own bank or credit union cashes money orders free and instantly if you have an account there.
- Walmart, grocery stores, and check-cashing services will cash money orders without an account, but charge $3 to $6 per order.
- The post office cashes money orders it issued, but not ones from other sources.
- Always bring a valid ID; most places won't cash a money order without one.
- Verify the money order is filled out completely and signed by the sender before you attempt to cash it.
Retail stores that cash money orders without an account
Walmart cashes money orders at its customer service desk for a flat fee of around $3. You don't need an account or membership, and the process is quick. Bring your ID and the money order.
Grocery stores including Kroger, Safeway, and Albertsons cash money orders at their customer service counters, usually for $2 to $5. Hours and fees vary by location, so call ahead. Some grocery stores limit the amount they'll cash in a single day.
Target cashes money orders at guest services for a small fee, though not all locations do this — call your local store first. Costco members can cash money orders at the membership desk.
Check-cashing services and payday loan stores
Check-cashing businesses exist specifically to convert paper money into cash, and they cash money orders as part of that service. Fees typically run $3 to $6 per money order, depending on the amount. These places are open longer hours than banks — often until 8 or 9 p.m. and on weekends — and you don't need an account or membership.
Payday loan stores also cash money orders, usually for $3 to $5. Like check-cashing services, they're designed for quick transactions and don't require an account. The trade-off is that fees are higher than at banks, and some locations are less convenient to reach.
The post office, but only for money orders it issued
The U.S. Postal Service cashes money orders at post office windows, but only if the post office issued that specific money order. You can tell by looking at the issuer line on the money order — if it says "United States Postal Service," your local post office will cash it. Bring your ID and the money order.
If the money order was issued by Western Union, MoneyGram, a bank, or another source, the post office won't cash it. You'll need to use one of the other methods listed here.
What you need to bring and what can go wrong
Every place that cashes money orders requires a valid photo ID — a driver's license, passport, or state ID card. Without it, they won't cash the money order, period. Bring the ID even if you have an account at that bank.
The money order itself must be completely filled out: the payee name (who it's made out to), the amount, the date, and the sender's signature. If any of these are missing or illegible, most places will refuse to cash it. If the payee line is blank or has the wrong name, the money order is not valid for you to cash.
If the money order is damaged, torn, or has been altered, the issuer may refuse to honor it. Some places will still attempt to process it, but don't count on it. If you suspect fraud or tampering, contact the issuer directly before trying to cash it.
Comparing your options by speed and cost
| Where to Cash | Fee | Speed | Requires Account |
|---|---|---|---|
| Your bank | Free | Instant | Yes |
| Your credit union | Free | Instant | Yes |
| Walmart | ~$3 | 5–10 minutes | No |
| Grocery store | $2–$5 | 5–10 minutes | No |
| Check-cashing service | $3–$6 | 5–10 minutes | No |
| Post office (USPS issued) | Free | 5–10 minutes | No |
If you have a bank account, that's your cheapest and fastest route — no fee and instant access to the money. If you don't have an account, Walmart and grocery stores offer the lowest fees and the most convenient hours. Check-cashing services cost more but stay open later and on weekends.
The post office is free if the money order was issued there, making it a good option if you have a USPS money order and want to avoid fees. However, post office hours are typically more limited than retail stores, so convenience depends on your location and schedule.
Frequently Asked Questions
Can I cash a money order if it's made out to someone else?
No. A money order is like a check — it's only valid when cashed by the person whose name is on the payee line. If someone else's name is there, you cannot cash it. The sender would need to request a refund and issue a new one in your name.
What if I lost the money order or it was stolen?
Contact the issuer immediately with your receipt or proof of purchase. USPS, Western Union, and MoneyGram all have processes to stop payment and issue a replacement. You'll need the money order number and the amount. Processing takes several days to weeks depending on the issuer.
Do I have to deposit it to an account, or can I get cash?
You can choose either. Banks and credit unions let you deposit it to your account or withdraw cash on the spot. Retail stores and check-cashing services hand you cash. Ask which option you want when you present the money order.
Why did the store refuse to cash my money order?
The most common reasons are: the payee name doesn't match your ID, the money order is incomplete or damaged, the amount exceeds what that location will cash in one transaction, or the issuer is not one they accept. Ask the cashier which rule applies, then try a different location or contact the issuer.
Is there a limit to how much I can cash at one time?
Yes, and it varies by location. Banks typically have no limit for account holders. Walmart caps most transactions at $5,000. Grocery stores and check-cashing services may limit single transactions to $1,000 or $2,000. Call ahead if you're cashing a large money order.