You landed the project. The client seems great. You're ready to start.
Before you do a single hour of work, you need a signed contract.
Not because clients are bad people — most aren't. But because a contract is what protects you when things go wrong: scope changes, delayed payment, ownership disputes, or a client who disappears after you deliver.
This guide covers every key clause in a freelance contract, what fair terms look like, what to watch out for, and how to negotiate when you're not sure.
Review a freelance contract with AI →
This is the most important clause. It defines exactly what you're delivering.
What it should include:
Red flag: Vague language like "all work necessary to complete the project." This gives clients unlimited ability to expand scope without extra pay.
Negotiate: Add a revision limit (e.g., "2 rounds of revisions included") and a clear change order process: "Any work beyond the defined scope requires a written change order and additional fee."
How and when you get paid.
What fair terms look like:
Red flag: "Payment upon satisfactory completion" — this lets the client define "satisfactory" indefinitely. You can be owed money with no clear recourse.
Red flag #2: No deposit requirement. Without a deposit, clients can walk away after you've spent weeks on their project.
Negotiate: Always require at least 25% upfront. Frame it as standard industry practice, because it is.
Who owns the work you create?
This clause is the most commonly misunderstood and most dangerous clause for freelancers.
Two types:
Red flag: "Work-for-hire extending to all pre-existing materials and tools." This means the client claims ownership of code libraries, design systems, or templates you brought to the project — not just what you created for them.
Negotiate:
What you agree not to disclose.
Standard NDA language in a freelance contract is reasonable. Watch for:
Red flag: Overly broad definitions of "confidential" that prevent you from mentioning the client's name in your portfolio.
Negotiate: Add: "Contractor may include Client's name and a general description of services in Contractor's portfolio, unless Client requests otherwise in writing."
Whether you can work with competitors.
What's unreasonable:
What's reasonable:
Negotiate: Push back on any non-compete that would meaningfully restrict your ability to earn income. If they insist, charge significantly more — you're being compensated for the restriction.
How either party can end the contract.
Fair terms:
Red flag: Client can terminate "at any time without liability." Combined with no upfront deposit, this means you could work for weeks and receive nothing.
Negotiate: Always include a kill fee for early termination by the client, and ensure payment for all completed work is due upon termination.
What happens when the client wants changes.
What to specify:
Red flag: No revision limit. Without one, a client can request unlimited changes, each time claiming you haven't delivered what they asked for.
What happens if you disagree.
Options:
Specify: Governing law (which state/country), and venue (where disputes are resolved). Use your state, not the client's, if possible.
How much you can be held responsible for.
Fair limit: Your maximum liability should not exceed the total fees paid under the contract. If you're being paid $5,000, you shouldn't be liable for $500,000 in damages.
Red flag: No liability cap. Without one, you're potentially liable for the client's consequential damages — lost profits, business disruption — which can be enormous.
Standard clause: "In no event shall Contractor's liability exceed the total fees paid under this Agreement."
What happens if external events prevent performance (pandemics, natural disasters, etc.).
Standard language is fine. Just make sure it's mutual — both parties are excused from performance, not just the client.
| Clause | Fair | Unfair | |--------|------|--------| | Payment | 25-50% deposit + milestones | Payment upon "satisfaction" only | | IP | Transfer limited to project-specific work | Includes pre-existing tools/templates | | Non-compete | 3-6 months, narrow scope | 2+ years, global, broad industry | | Termination | Kill fee + payment for completed work | Client can cancel with no payment | | Liability | Capped at contract value | Unlimited | | Revisions | Specific limit per deliverable | Unlimited "until satisfaction" |
Instead of reading every clause yourself (and potentially missing something), upload your freelance contract to AnyContract.ai:
Analyze My Freelance Contract →
Need a contract to start from? Download our free freelance agreement template:
Download Free Freelance Agreement →
The template includes all 10 clauses above with fair, balanced language that protects both parties.
Also useful:
Not for routine projects. A well-drafted template covers the key clauses, and AI can review contracts you receive from clients. For high-value or complex engagements, having a lawyer review the final terms is worthwhile.
Don't start work. A client who refuses to sign a contract is a client who doesn't want to be held to their commitments. This is almost always a bad sign.
You can use a template, but review and customize it for each project — especially the scope of work, payment terms, and IP clauses.
Document everything in writing (email is fine). Confirm scope, payment terms, and deliverables in writing as soon as possible. For future projects, require a signed contract before starting.
Don't start your next project without a solid contract. Whether you're drafting one from scratch or reviewing a client's agreement, AI makes it fast and affordable.