How to Write a Freelance Contract That Actually Protects You
Most beginners skip a contract on small projects because asking for one feels awkward, or like overkill for a $150 job. In our experience it’s the opposite — the projects that go sideways are almost always the ones where scope and payment were only ever discussed in chat messages, never written down in one place both sides agreed to. None of what follows requires legal training or a lawyer’s fee — it’s the same five-to-seven-item structure worth reusing on every project regardless of size.
Getting to this point in the first place starts with a proposal the client actually accepted — the scope and price agreed to informally there becomes the raw material for the contract itself, which is exactly why a proposal written with real scope detail from the start makes the contract stage faster, not slower.
Why “Just This Once” Backfires
A contract isn’t really about the client refusing to pay — most won’t. It’s about the client genuinely disagreeing with you later on what was promised, because a chat thread with revisions scattered across 40 messages doesn’t settle that argument the way one written scope does. The dispute usually isn’t “you didn’t do the work,” it’s “I thought this included X” — and a contract is what makes that conversation short instead of long.
The Five Things It Actually Needs
You don’t need a lawyer-drafted document for a normal freelance project. One page covering these five things handles almost everything that goes wrong:
- Scope, as a list, not a sentence — “3 product pages and 1 homepage,” not “a website.” Vague scope is where almost every dispute starts.
- Revision limit — state the number (2 rounds is common) up front, the same detail our pricing guide recommends trimming first when a client pushes back on cost.
- Payment schedule — a deposit before starting (30-50%) and an exact number of days for the final payment, not “after completion.”
- Ownership timing — the client owns the finished work once it’s paid for in full, not the moment you deliver a draft. Say this explicitly.
- A cancellation clause — what happens, and what you’re owed, if the client stops the project halfway through.
Portfolio and Usage Rights Are Worth a Line Too
Beyond who owns the finished work, it’s worth explicitly stating whether the freelancer can show the project in a portfolio afterward — some clients (particularly ones under NDA or in sensitive industries) expect this to be restricted, and assuming it’s fine without asking can create a real problem later. One sentence covering this upfront avoids finding out the hard way that a client considers a finished project confidential.
What Happens When Scope Changes Mid-Project
A contract’s original scope will sometimes need to change — new information comes up, priorities shift — and having a simple line about how that gets handled (a written change order confirming the new scope and any additional cost, the same approach our scope creep guide covers in more depth) means a legitimate mid-project change doesn’t have to feel like renegotiating the entire agreement from scratch.
You Don’t Need Anything Formal to Send It
A shared Google Doc or even a clearly written email works, as long as the client replies with something like “agreed, let’s start” — that written acceptance is what matters, not the file format. Free e-signature tools exist if a client expects something more official-looking, but for most $100-500 projects a plain document both sides can point back to is enough.
If a Client Won’t Agree to Anything in Writing
Treat it as information, not just an inconvenience. A client who’s fine with a clear scope and payment terms will sign without much friction — one who resists even a one-page agreement is often the same client who’ll argue about scope later. It’s a similar signal to the “too expensive” pushback our pricing guide talks about: sometimes it’s a fair concern worth addressing, and sometimes it tells you this isn’t the right client for you.
Where This Actually Pays Off
The contract’s payment-schedule line is what your late-payment plan leans on — “payment due within 7 days” only works as a boundary if it’s written down somewhere the client agreed to, not just something you meant to say. It also removes a chunk of the guesswork our client communication guide covers, since deliverables and deadlines are already settled before the project starts instead of being negotiated mid-way through it. A clear written scope is also your best defense once a client starts adding extra asks — see our scope creep guide for handling that without the conversation turning adversarial.
The Signed Contract Is the Start, Not the Finish Line
Getting a contract signed doesn’t automatically mean the project starts smoothly — our client onboarding guide covers the handoff period right after signing, where the scope and terms just agreed to in writing need to get restated plainly and turned into an actual working relationship, not just filed away.
A Realistic Note
None of this needs to feel formal or distrustful — most clients expect a freelancer to send one. The goal isn’t a document that reads like a legal threat, it’s one page you can both glance back at instead of scrolling through old messages trying to remember what was actually agreed.