Skip to main content

HomeAll guides

Money Orders vs Bank Checks: How They Work and When to Use Each

Money orders and bank checks serve different purposes and come with different costs and protections

A money order is a prepaid document you buy at a post office, grocery store, or convenience store for a small fee — usually between $1 and $5 — and then give to someone else to cash. A bank check is a document your bank prints with your account number on it, which you write and sign yourself at no cost per check. The main difference is who guarantees the money: with a money order, the seller guarantees it because you paid them upfront; with a bank check, your bank guarantees it because the money is supposed to be in your account.

Money orders work when you do not have a bank account, do not want to share your account number, or need to send money to someone who will not accept a personal check. Bank checks work when you have an account and the recipient trusts your signature. A cashier's check — which you came from — sits between them: your bank writes it on your behalf using money from your account, and the bank's name appears on the check instead of yours, which makes it look more official to the recipient.

Key Takeaways

  • Money orders cost $1 to $5 each and require no bank account, while bank checks are free but require an account and a checkbook.
  • Money orders are safer for the recipient because the sender has already paid the money order company, so the funds are may provide; personal checks can bounce if your account has insufficient funds.
  • Money orders have a maximum amount per order — usually $500 to $1,000 depending on where you buy them — so large payments require multiple orders.
  • Bank checks take 3 to 5 business days to clear, while money orders clear within one business day in most cases.
  • Money orders leave a paper trail and can be tracked if lost, but they do not build a banking history the way regular checking accounts do.

Cost and how you obtain each one

A money order costs money upfront. You walk into a post office, grocery store, Walmart, or convenience store, tell the clerk the amount you want, and pay that amount plus a fee. The fee varies by location and amount: the U.S. Postal Service charges up to $1.45 for money orders under $500 and up to $1.95 for orders from $500 to $1,000. Walmart charges around $0.70 to $0.98 depending on the amount. You receive the money order when ready and can hand it to the recipient or mail it the same day.

A bank check costs nothing per check. Your bank prints them as part of your checking account, usually in boxes of 25 or 50. You write the check yourself — the date, the recipient's name, the amount in numbers and words, and your signature — and hand it over or mail it. If you run out of checks, you order more from your bank, which takes 5 to 10 business days to arrive. Some banks charge for reordered checks, though many include the first box free.

If you do not have a bank account, a money order is your only option between these two. If you have an account but no checks on hand, you can ask your bank for a counter check — a temporary check the teller writes for you on the spot — while you wait for your printed checks to arrive.

Who guarantees the money and what happens if it fails

With a money order, the issuer — the post office, Walmart, or other seller — guarantees the money because you have already paid them. You hand over $505 in cash, they give you a $500 money order, and they keep the $5 fee. The recipient can cash or deposit the money order knowing the funds are already set aside. If the money order is lost or stolen, the issuer will replace it or refund your money, though you may need to wait 30 to 90 days and provide proof of purchase.

With a bank check, your bank guarantees the money only if your account actually contains it. If you write a check for $500 but your account has $200, the check bounces — the bank returns it unpaid and charges you an overdraft or insufficient funds fee, usually $25 to $35. The recipient also pays a fee from their bank, typically $10 to $25. A bounced check damages your banking history and can be reported to ChexSystems, a database banks use to decide whether to open accounts for you.

A cashier's check eliminates this risk because the bank withdraws the money from your account at the moment you request the check, so the bank itself guarantees the funds. The recipient sees the bank's name on the check, not yours, which signals that the money is already set aside.

Maximum amounts and when you need multiple orders

Money orders have a ceiling per order. The U.S. Postal Service allows up to $1,000 per money order. Walmart allows up to $500 per order. Other retailers vary, but most cap at $500 to $1,000. If you need to send $3,000, you must buy three separate money orders of $1,000 each, pay three separate fees, and the recipient receives three documents instead of one.

Bank checks have no per-check limit. You can write a check for $50,000 if your account holds that much. This makes checks more practical for large payments, though the recipient may ask for a cashier's check instead of a personal check for amounts over a certain threshold — often $5,000 or $10,000 — because a cashier's check cannot bounce.

How long each takes to clear

A money order typically clears within one business day. Once the recipient deposits or cashes it, the funds are available almost when ready because the money order company has already collected the money from you. There is no waiting period the way there is with a personal check.

A bank check takes longer. Federal law requires banks to make the first $225 of a check available by the next business day, but the full amount may not clear for 3 to 5 business days. Some banks hold checks longer if the amount is large, if the check is from out of state, or if the account is new. During this holding period, the recipient has the check but cannot spend the full amount yet.

A cashier's check clears faster than a personal check — usually 1 to 2 business days — because the bank has already verified the funds. However, some banks now hold cashier's checks for the same 3 to 5 days as personal checks due to fraud concerns, so you should ask your bank what its policy is.

Privacy and what information you reveal

A money order reveals very little about you. The recipient sees the amount and the date, but not your name, address, or account number. If you buy the money order with cash, there is no record linking you to it except the receipt you keep. This makes money orders useful when you do not want to share banking information — for example, paying a contractor you do not fully trust, or sending money to someone you do not know well.

A bank check reveals your name, address, and bank account number. Anyone who sees the check can write down these details. If the check is lost or stolen, someone could potentially use the account number to set up fraudulent transactions. For this reason, some people avoid writing checks to strangers or for online transactions.

A money order also leaves a paper trail if you need it. The issuer records the serial number, the amount, and the date you bought it. If the money order is lost or stolen, you can contact the issuer with your receipt and they can track it. With a personal check, you have only your own record unless the recipient deposits it and you see it on your bank statement.

When to use a money order instead of a check

Use a money order when you do not have a bank account, when you want to avoid sharing your account number, when the recipient specifically requests one, or when you need to send money through the mail and want may provide funds. Money orders are also useful for paying bills in person at a store or office that does not accept cards.

Use a bank check when you have an account, when you are paying someone you trust, when the amount is large (to avoid buying multiple money orders), or when you want a record on your bank statement. Checks are standard for rent, utilities, and other regular payments.

Use a cashier's check when the recipient asks for one, when the amount is large and you want the bank's may provide, or when you are paying someone who does not know you and might not trust a personal check.

Fees and total cost over time

TypeCost per transactionWhen you payMaximum amount
Money order (USPS)$1.45–$1.95Upfront when you buy it$1,000
Money order (Walmart)$0.70–$0.98Upfront when you buy it$500
Bank checkFree (usually)Included in accountNo limit
Cashier's check$5–$15When you request itNo limit

If you send one or two money orders a month, the cost is minimal — $1 to $2 per month. If you send ten, you are paying $10 to $20 monthly. Over a year, that adds up. A checking account with free checks costs nothing per transaction, though you may pay a monthly maintenance fee if you do not maintain a minimum balance — typically $5 to $15 per month depending on the bank.

For occasional use, money orders are cheaper. For regular use, a bank account is cheaper. A cashier's check costs $5 to $15 per check, so it is most economical when you need the bank's may provide for a single large transaction rather than as a routine payment method.

Frequently Asked Questions

Can a money order bounce like a check can?

No. A money order cannot bounce because you pay the full amount upfront when you buy it. The issuer has your money and guarantees it. A personal check can bounce if your account does not have enough funds, but a cashier's check also cannot bounce because the bank withdraws the money from your account when ready.

What if I lose a money order before I give it to someone?

Contact the issuer with your receipt and the money order's serial number. The issuer will investigate and either replace it or refund your money, though the process takes 30 to 90 days. Keep your receipt in a safe place. If you lose a personal check, you can contact your bank and ask them to stop payment on it, which costs $25 to $35.

Can I write a money order to myself?

Yes, but it is not useful. You would pay the fee to buy it, then deposit it into your account, and the funds would take one business day to clear. It is simpler to deposit cash directly or transfer money between your own accounts, which is when ready.

Do money orders build my credit or banking history?

No. Money orders are not connected to a bank account, so they do not appear on your credit report or banking history. If you want to build a banking history, you need a checking or savings account and to use it regularly. Some banks report account activity to credit bureaus, which helps establish credit over time.

Which is safer to mail: a money order or a check?

A money order is safer because the recipient cannot cash it without the serial number and your signature, and you can track it if it is lost. A personal check shows your account number and routing number, which someone could use to commit fraud. If you must mail a check, consider a cashier's check instead, which the recipient is more likely to trust and which clears faster.

This guide is for general information only and is not medical, financial, legal, or other professional advice. For decisions specific to your situation, consult a qualified professional. See our Editorial Policy.