Freely Forms
A free, open-source form builder that delivers every response as a new row in your own Google Sheet.
Designed and built by me.
- WebLive
What it does
Freely Forms is a free, open-source form builder. You build a form, publish it, and every response arrives as a new row in a Google Sheet you own, instead of in another app’s database.
- Build: pick fields, write the questions and set the colours, with a live preview of what people will see.
- Connect Google Sheets: publishing creates a spreadsheet in your Drive, or adds a tab to one you choose.
- Share or embed: send the link, or paste a short snippet into your website. The form keeps its own styles and adjusts its height to fit.
- Templates: contact, event registration, feedback, client intake, quote request and order forms, each a real form you can copy and change.
People who fill in a form don’t sign in and don’t need a Google account.
Why it is free
Responses live in your sheet, not in my database. Freely Forms carries each response to the sheet and then lets it go, so the infrastructure stays small and cheap to run. That is why there is no cap on forms or responses and no paid tier to unlock more. Abuse protection still applies, and so do Google’s own limits on a sheet.
Key decisions
One row per response, built to survive edits. Each row gets a submission ID, a timestamp and the form version, then one column per question, so editing the form later doesn’t mix up old answers.
Narrow access to Google. The app asks only for your name and email and Google’s drive.file permission, which covers just the spreadsheets Freely Forms creates or that you pick. It can’t open the rest of your Drive.
No permanent response database. Answers are encrypted as soon as they are accepted and kept only until they are written to your sheet. If delivery is blocked, they wait at most seven days and are then deleted. Answers are written as plain values, so a response can’t run a formula in your sheet.
Public forms on a separate domain. Forms are served from freelyforms.link, which sets no cookies. Spam protection uses Cloudflare Turnstile, rate limits and a hidden honeypot field, and every form has a “Report abuse” link.
How it is built
Freely Forms is a TypeScript monorepo: a React builder and a Cloudflare Workers API, with shared packages for the form schema, the form engine, encryption and the Google integration. The hosted service runs on Cloudflare Workers with D1, Queues and KV. The code, including this website, is public on GitHub under the Apache License 2.0.
Current state
- Web: live at freelyforms.com. Sign in with Google and start from a blank form or a template.
- Open source: bug reports and pull requests are welcome. A step-by-step self-hosting guide isn’t written yet.
Details
- Platforms
- Web — live
- Role
- Designed and built by me.
- Category
- Everyday tools
- Built with
- TypeScript, React, Cloudflare Workers
- Source
- Source available · Repository
- Website
- freelyforms.com
More projects
All projectsHome Heads Up
A reminder app for Australian households, covering bin days, weather, UV and everyday home tasks.
- iOSLive
- AndroidBeta
Built with Expo · React Native
KiddoTurn
A chore chart for kids that pauses chosen games and videos while tasks are overdue, and reopens them once they are done.
- iOSBeta
- AndroidBeta
- WebBeta
Built with React · Supabase
Pixel Brisbane
An interactive isometric map of Brisbane, combining buildings, places and useful city data.
- WebLive
