The most common places to buy a money order
You can buy a money order at a bank, credit union, post office, grocery store, or convenience store. Most of these locations are open during regular business hours, and the process takes just a few minutes. The cost is usually between $1 and $5, depending on the amount and where you buy it.
Banks and credit unions often charge less than retail locations, especially if you have an account with them. The post office charges a flat fee based on the money order amount — currently up to $500 costs one price, and $500.01 to $1,000 costs more. Grocery stores and convenience stores like 7-Eleven or Walmart typically charge a higher per-order fee but are open longer hours and may have more locations near you.
Not every location offers money orders. Call ahead or check the website if you are unsure whether a specific store carries them. Some smaller credit unions or rural banks may not offer them at all.
Key Takeaways
- Banks, credit unions, post offices, grocery stores, and convenience stores all sell money orders, with fees ranging from $1 to $5 depending on the location and amount.
- The post office charges by money order amount (one fee for up to $500, a higher fee for $500.01 to $1,000), while retail locations usually charge a flat per-order fee.
- Banks and credit unions are often the cheapest option, especially if you already have an account there.
- Grocery stores and convenience stores stay open longer and may be more convenient, but charge higher fees than banks.
- Always bring a valid ID and enough cash to cover both the money order amount and the fee.
What you need to bring to buy a money order
You will need a valid government-issued photo ID — a driver's license, passport, or state ID card. Some locations may accept other forms of ID, but a photo ID is the standard requirement. You will also need cash or a debit card to pay for the money order and the fee.
Most locations do not accept credit cards for money order purchases, though some may allow debit cards. Bring enough cash to cover both the full amount of the money order and the fee. For example, if you are buying a $500 money order with a $2.50 fee, bring $502.50.
You do not need to have an account at the location where you buy the money order, except at some credit unions that restrict purchases to members only. Call ahead if you are using a credit union and are not a member.
Banks versus post offices versus retail stores
Banks are usually the cheapest option if you have an account there. Many banks waive the fee for customers or charge only $0.50 to $1. If you do not have an account, banks may charge $2 to $3 per money order. Hours are typically 9 a.m. to 5 p.m. on weekdays, with limited Saturday hours at some branches.
The post office charges a fixed fee based on the amount: one price for money orders up to $500, and a higher price for $500.01 to $1,000. Post office fees are generally in the middle range compared to banks and retail stores. Post offices are open Monday through Friday and Saturday mornings at most locations, but closed on Sundays and federal holidays.
Grocery stores and convenience stores charge the highest fees — often $3 to $5 per money order — but they are open early, close late, and are usually within walking distance. Walmart, 7-Eleven, and most supermarkets offer money orders. These locations are convenient if you need a money order outside normal business hours or prefer not to visit a bank.
How to fill out a money order correctly
The cashier will give you a blank money order form to fill out. Write the recipient's name on the "Pay to the Order of" line — this is the person or business who will cash or deposit the money order. Write clearly and use the exact name as it appears on their account or ID if possible.
On the "From" or "Sender" line, write your name and address. This line identifies you as the buyer. Do not leave it blank, even though some people do — it protects you if the money order is lost or stolen. Write the amount in both the box (in numbers) and on the line (in words). For example, write "50" in the box and "Fifty dollars" on the line.
Do not sign the money order until you are ready to give it to the recipient. Some money orders have a signature line for the recipient only. Others have a line for you to sign as well — ask the cashier which lines to fill in before you leave the counter. Keep your receipt in case you need to track or cancel the money order later.
Online alternatives if you cannot visit a store
If you cannot leave your home or do not have a location nearby, you have limited options. Some banks allow customers to order money orders online and pick them up at a branch, but this usually takes one to three business days. A few online payment services like Western Union or MoneyGram offer money orders through their websites, though you still need to pick up the physical money order at a location or have it mailed to you.
For most situations, a bank transfer, wire transfer, or check is faster and easier than a money order if the recipient can accept it. Ask the person or business you are paying whether they will take a different form of payment. If they specifically require a money order, you will need to visit a physical location to buy one — there is no way around it.
What to do if you lose or need to cancel a money order
If you lose a money order before giving it to the recipient, contact the location where you bought it as soon as possible. Bring your receipt, which has a tracking number. The seller can put a stop on the money order to prevent someone else from cashing it. This process usually takes a few days to a week.
If the money order has already been cashed by someone else, you cannot get the money back. This is why it is important to keep your receipt and to fill in the "From" line with your information. If you need to cancel and get a refund, most locations will issue one if the money order has not been cashed, but they may charge a cancellation fee of $1 to $5.
Some locations require you to wait a certain number of days before they will issue a refund — typically 30 to 60 days. Check the receipt or ask the cashier about the cancellation policy when you buy the money order.
Frequently Asked Questions
Can I buy a money order with a credit card?
Most locations do not accept credit cards for money order purchases because money orders are considered cash equivalents. Some places may accept debit cards, but cash is the safest option. Call ahead to confirm what payment methods the location accepts.
What is the maximum amount I can put on a money order?
Most money orders have a maximum of $1,000. If you need to send more than $1,000, you can buy multiple money orders. Some locations may have lower limits, so ask the cashier what the maximum is at that location.
How long does it take for a money order to clear?
A money order typically clears within one to three business days after the recipient deposits or cashes it. Some banks clear them faster, sometimes the same day. The recipient's bank determines the exact timing.
Do I need to go to the same location to cancel a money order?
You should contact the location where you bought it, as they have the record and tracking number on your receipt. Some companies like the post office or Western Union may allow cancellations at any of their locations, but it is easiest to return to where you purchased it.
Can someone else pick up a money order I bought?
Yes, as long as you give them the physical money order and your receipt. The recipient does not need to be present when you buy it. Only the person whose name is on the "Pay to the Order of" line can cash or deposit it.