Web Development Contract Template (Free Download)
For build projects: marketing sites, web apps, integrations. It covers milestones, change requests, code ownership, warranty and handover. Change the five clauses below before you send it.
5 clauses to change before you send it
1. Milestones and payment
Split payment by milestone, not by date. Each milestone should have an acceptance criterion and a fixed review window, so silence does not stall the next payment.
2. Change request process
Define how new requests are priced and approved in writing. Without it, every “small addition” becomes free work.
3. Code ownership and dependencies
Transfer the custom code on final payment, but carve out pre-existing libraries, frameworks and your own tooling. List third-party licenses the client must keep.
4. Warranty period
Offer a defined bug-fix window (30–60 days) for defects against the agreed spec — and state clearly that new features and third-party changes are not covered.
5. Handover and hosting
State who owns accounts, domains and infrastructure, and what happens after handover. Ambiguity here is the most common cause of a client holding your work hostage.
Local differences
EU: if the site processes personal data, a DPA may be required and GDPR obligations should be allocated. US: state law governs warranty disclaimers. UK: check IR35 implications if you work through an intermediary.
What this development contract covers
Milestones and acceptance, change control, payment, code ownership and third-party licenses, warranty, handover, liability and termination.
How to use it
Attach the technical spec and the milestone table as schedules. If there is no written spec, write one first — a contract cannot compensate for an undefined scope.
Frequently asked
Should the client own the code?
Usually yes, for custom code, after final payment. Keep ownership of reusable libraries and internal tooling, and list third-party licenses.
How long should the warranty be?
30–60 days for defects against the agreed specification is common. Separate maintenance contracts cover everything else.
What if the client wants changes mid-sprint?
Log it as a change request with an estimate and a written approval. This protects both sides.
Who owns the hosting account?
The client should own accounts and billing. You get access, not ownership — that is what makes handover clean.
TidyContracts provides general information and starting documents, not legal advice. We are not a law firm and do not create a lawyer-client relationship. Contract law differs by jurisdiction — have a qualified lawyer review anything important.