Contract template for web developers

Web projects stall at the end more often than at the start. The site is built, the client keeps finding small things, the last content never arrives, and the final payment waits on a launch that nobody schedules. A contract that defines acceptance, with a deadline for feedback after which the site counts as accepted, keeps the project from drifting for months.

The second source of trouble is accounts. A plugin licensed to your email, hosting on your card, a domain in your registrar. When the relationship ends, the client wants all of it moved and assumes that is free. Decide up front which accounts belong to whom and what a handover costs.

Not legal advice. This is a plain-language starting point, not a contract drafted for your situation or your country. For anything large or unusual, have a lawyer where you work read it before you sign.

Clauses specific to web developers

The clauses every freelance contract needs

A plain-language sample

Copy it, fill in the brackets, and cut what doesn't apply. Shorter is fine as long as the scope, the money and the rights are clear.

1. Parties

This agreement is between [Your name or business], the web developer ("we"), and [Client legal name], the client ("you"), and starts on [date].

2. The work

We will deliver the work described in quote [number], dated [date]. Anything not listed there is outside this agreement and will be quoted separately before we start on it.

3. Launch acceptance

The client reviews the staging site and reports issues within 10 working days. Without a report in that time the site is treated as accepted and the final invoice is due.

4. Client content

The client supplies final text, images and legal pages and confirms it has the right to publish them. Delays in content do not delay the payment schedule.

5. Third-party licences

Themes, plugins, fonts and paid services are licensed by their vendors on their own terms. Ongoing licence fees are paid by the client.

6. Accounts and handover

Hosting, domain and licence accounts are registered to the client where possible. Moving accounts out of the developer's name after launch is billed at the hourly rate.

7. Browser support

The site is built and tested for the browsers and devices listed in the quote. Fixes for other browsers or later browser updates are additional work.

8. Maintenance

Updates, backups and security monitoring after launch are only included under a maintenance agreement. Without one, the developer is not responsible for issues caused by updates the client applies.

9. Fees and payment

The fee is [amount and currency]. We invoice [a deposit of X on signing and the balance on delivery / monthly in arrears]. Invoices are due within [14] days. If an invoice is more than [14] days late we may pause work until it is paid.

10. Changes

The quote includes [number] rounds of revisions. Further changes, or changes to work you have already approved, are charged at [rate] once you have agreed to the cost in writing.

11. Delays

Dates in the quote assume you send feedback and material on time. If you are late, the dates move by at least the same amount.

12. Confidentiality

We both keep the other's non-public information confidential, during this project and after it ends.

13. Ending the agreement

Either of us can end this agreement with [14] days' written notice. You pay for the work done up to the end date, and anything already paid for is yours to use under the terms above.

14. Liability

Neither of us is liable for indirect or consequential losses. Our total liability under this agreement is limited to the fees you have paid under it.

15. Law

This agreement is governed by the law of [country], and disputes are heard by the courts of [city or country].

Signatures

Web developer: [name, date]. Client: [name, title, date].

Questions web developers ask

Who owns the website code, the developer or the client?

Whoever the contract says. Many developers assign the custom code to the client on full payment and keep the right to reuse their own general tools and snippets. Themes and plugins stay under their vendors' licences either way.

What if the client never approves the website?

Add an acceptance clause with a review period. If no issues are reported within that period, the site counts as accepted and the last payment is due. It moves the final invoice off the client's to-do list and onto a date.

Am I responsible if the site breaks after a plugin update?

Not unless you agreed to maintain it. Spell out that maintenance is a separate agreement, and that updates made by the client or another developer are outside your warranty.

Get it signed without printing it

OIO has contract templates built in (service agreement, retainer, IP assignment, NDA) that you edit to fit, sign in the Sign app and send as a PDF. The contract sits next to the project and its invoices. Free plan, no card.

Start free

Also for web developers: invoice template and quote template. Contract templates for related trades: UX designers, software developers, SEO consultants, graphic designers. Or browse all contract templates.