A money order is a prepaid payment instrument that functions similarly to a check, but does not require the sender to have a bank account. Because the funds are paid upfront at the time of purchase, money orders are considered a guaranteed form of payment, unlike personal checks, which can bounce if an account has insufficient funds.
Despite the growth of digital payment methods, money orders remain widely used. In 2025, the U.S. Postal Service alone issued approximately 53 million money orders. [1] Money Orders can also be purchased at banks, credit unions, grocery stores, and convenience stores and are commonly used to pay bills or send money when other payment methods are not accepted or available.
This article explains how money orders work, where to get one, what they cost, and what to consider before using one.
Purchasing a money order involves a straightforward process that can be completed at a post office, bank, credit union, or retail location.
Money orders are typically used in situations where a personal check is not accepted or where the recipient requires guaranteed funds. Money orders can be a useful option if a business or organization does not accept electronic payments, and the sender does not have a checking account. [4]
Common situations where a money order may be appropriate include:
It is worth noting that money orders have limitations. Funds are difficult or sometimes impossible to recover if a money order is lost or stolen, and keeping track of the payment can be difficult without retaining both the money order receipt and a receipt of payment. [4]
Money orders are available from a range of providers. These include banks, credit unions, retail locations, and post offices. The most appropriate option will depend on factors such as whether the buyer holds a bank account, the fees charged, and convenience of location. [8]
Money orders can be purchased at any Post Office location using cash or a debit card — credit cards are not accepted. USPS domestic money orders are capped at $1,000 per money order and never expire. As of March 2026, USPS charges $2.55 for money orders up to $500, and $3.60 for amounts between $500.01 and $1,000.
Fees are subject to change and should be confirmed at the point of purchase. USPS money orders can be cashed at a Post Office for free, or at most banks and some stores. [2]
If you have an account at a local bank or credit union, this may be a convenient option, as the funds can be deducted directly from your account without the need to carry cash. However, fees vary by institution (often around $5), and some banks will only sell money orders to existing account holders. [8]
Many retail stores like Walmart also sell money orders, accepting cash or debit card payments. You can also get them at some grocery stores or convenience stores like 7-Eleven. These locations can be a practical option for those without a bank account or outside of standard banking hours. [6]
Companies such as Western Union and MoneyGram sell money orders at various locations, including grocery stores, pharmacies, and dedicated check-cashing outlets. Be aware that not all Western Union locations that sell money orders are able to cash them. [7]
If your money order is lost or stolen, you cannot stop the payment, but you can replace the money order. With money orders through USPS, it can take up to 30 days to confirm that the money order has been lost or stolen, and it may take up to 60 days for it to be investigated. There is a $21 processing fee for replacing a lost or stolen money order. [2]
If you make a mistake when filling out a money order, you’ll need to act quickly to fix it, and you may have to pay additional fees. If you notice the error before you send the money order, most issuers will let you request a refund for uncashed money orders, though the processing fee for this could be around $15-$18.
If you’ve already sent the money order, you may still be able to request a refund if it hasn’t been cashed. But if the recipient cashes it, you won’t be able to get the money back. [3]
A money order is a secure way to send a payment of up to $1,000, and you do not need to have a bank account to send one. A cashier’s check is also a secure way to send transactions, but these usually have no limits on the amount you can send, and they are funded through cash or a bank account. Typically, you’ll need to have an existing bank account with the bank you’re getting a cashier’s check from, and you will usually have to pay a fee between $5 and $15. [9]
A money order is a prepaid payment instrument that functions as a guaranteed alternative to cash or a personal check. Because the funds are paid up front, a money order generally cannot bounce. They are widely available at post offices, banks, credit unions, and retail stores, and are commonly used to pay bills or send money by those who may not have a bank account.
USPS domestic money orders are capped at $1,000 and never expire, though fees apply at the point of purchase, and funds can be difficult to recover if a money order is lost or stolen.
Becca has over 10 years of experience as a content writer, working across various industries including finance, digital marketing, education, travel, and technology. Her work has been featured in publications including Forbes, Business Insider, AOL, Yahoo, GOBankingRates, and more.
