Freelance
What Actually Belongs in a Freelance Contract
The five clauses that decide whether a freelance contract protects you or just looks official. Skip the legal cosplay and add the parts that actually hold.

You’ve been meaning to sort out your freelance contracts for about a year now. Maybe longer. You’re still working off email threads and a friendly “sounds good!” and some template you downloaded once and never read. It’s worked out so far, which is exactly why it feels safe to keep doing.
It isn’t. It’s worked out so far because you haven’t hit the wrong client yet. A freelance contract isn’t there for the good clients. It’s there for the one who goes silent after you deliver, or decides the project they approved isn’t the project they wanted. Let’s make yours actually hold.
You don’t need a forty-page document full of legal cosplay. You need five things, written in plain language, that you’ll actually use.
Pin down the scope, in boring detail
The single most expensive vagueness in freelancing is “the project.” Your client’s version of the project and your version will drift apart the moment money is involved.
So write it down like you’re describing it to someone who doesn’t trust either of you. Not “design a website.” Instead: five pages, two rounds of revisions, these specific deliverables, delivered in these formats, by this date. List what’s included. Then, and this is the part people skip, list what’s not. “This does not include copywriting, ongoing maintenance, or additional pages.”
That “not included” line is what turns a fight into a quote. When they ask for the sixth page, you’re not saying no. You’re saying “happy to, here’s the price,” and pointing at the document you both signed.
Set payment terms with a deposit up front
Decide three things and put them in writing: how much, when, and what happens if they’re late.
Take a deposit before you start. Anywhere from 25 to 50 percent. A client who won’t pay a deposit is showing you exactly how the final invoice will go. The deposit isn’t about the money you collect today. It’s a filter that screens out the people who were never going to pay.
Then set a clear due date on the rest (“net 14 days from delivery,” not “on completion”) and a late fee for blowing past it. You won’t always enforce it. But having it in the contract changes the conversation when you need to chase. While you’re at it, use tools that make sending and tracking invoices painless so the chasing isn’t its own job; I rounded up a few in tools that make invoicing less soul-crushing.
Cap the revisions
“Until you’re happy” is not a scope. It’s a trap with a nice smile.
State the number of revision rounds included. Two is normal. Then state, in the same breath, that further rounds are billed at your hourly rate. This protects the client too, weirdly, because it makes them spend their feedback wisely instead of dribbling it out one nitpick at a time over three weeks.
Add a kill fee and a way out
Projects die. The client gets acquired, runs out of budget, or just ghosts. You need a clause that says: if they cancel partway through, you keep the deposit and get paid for work completed.
This is the kill fee, and it’s the difference between a cancelled project being annoying and being a month of unpaid work. Make the exit doors mutual and clear, so either of you can walk without it turning into a standoff.
Say who owns the work, and when
Be explicit: you own the work until the final invoice is paid in full, at which point ownership transfers to the client. That one sentence quietly solves the problem of someone using your designs while your invoice sits unpaid.
If you’re handing over source files, fonts, or anything licensed, name it. Ambiguity here always gets resolved in favor of whoever has more money to argue about it, and that’s not you.
Your move today
Open whatever you’re using as a contract right now. If it’s an email thread, that’s your answer.
Pick the one clause from this list you’re most exposed on. For most freelancers it’s the scope or the deposit. Write that single clause, in your own plain words, and add it to your standard agreement before your next project starts. Not the whole document. One clause, today.
A contract won’t make a bad client good. But it turns the bad ones from a disaster into a paperwork problem, and that’s the whole point. The same logic applies to the rate you put at the top of it, which I get into in how to set rates as a new freelancer, and to the moment a client crosses a line, covered in how to handle a bad client without losing your cool or your money.
You’re not being difficult by asking for this. You’re being a professional. Go add the clause.