Free alternative to Typeform and Google Forms
Forms and surveys with unlimited responses. Free.
Forms is a free alternative to Typeform and Google Forms. Build a form in a minute, share the link, and watch responses come in. No sign-up for you or the people filling it in, and no cap that stops your form when it starts working.
- Unlimited forms, questions and responses
- Questions that show only for some answers
- Live results, a chart per question, CSV export
- A link, a QR code, or a form endpoint for your website
Example
Tell us about Forms
Two minutes, four questions.
How did you find Forms? *
How easy was it to make your form? *
How it works
Build it
Add a title and your questions: short or long text, email, number, date, multiple choice, checkboxes, dropdown, a 1 to 5 rating, a 0 to 10 scale, or yes and no. Mark the ones that are required, and show a question only for some answers.
Share the link
Send it in a message or an email, print the QR code, or paste the HTML form into your website. People fill it in on any phone or laptop, with no account.
See the results
Responses arrive live, with a chart or the latest answers for every question, and every response to search and read. Download it all as CSV whenever you like.
Free, with no response cap
A form is only useful while it collects answers, and most free plans stop right when yours starts working. Forms is free because it costs almost nothing to run: each response is one small write, and OpenApps pays for it.
| Forms | Typeform free | Jotform free | Formspree free | |
|---|---|---|---|---|
| Responses | Unlimited | 10 a month | 100 a month, on up to 5 forms | 50 a month |
| Sign-up to build a form | No | Yes | Yes | Yes |
| Paid plans start at | Never needed | $28 a month, billed yearly | $34 a month, billed yearly | $10 a month, billed yearly |
Checked October 2026 on each company's own pages: Typeform free plan and pricing, Jotform pricing and Formspree plans (US). Plans change, so check before you rely on them. Google Forms and Microsoft Forms are free too, but you need a Google or Microsoft account to build a form, and using them as your website's form backend is awkward.
Free form backend
Use it as your website's form backend.
Have a contact form on a static site? Point its action at your form's endpoint. Submissions land in your results, with no server, no script and no monthly cap.
- Make a form with no questions to accept any fields, or match field names to your questions
- Visitors see a short thank-you page that links back to your site
- Send
Accept: application/jsonto get JSON back for your own scripts - A hidden
_gotchafield turns away most spam bots
<!-- Paste into any page. Replace FORM_ID with yours. -->
<form action="https://functions.bounded.sh/apps/cf614aedcf4cdabfa9c45095/api/forms/FORM_ID/responses"
method="POST">
<input name="name" placeholder="Your name" required>
<input name="email" type="email" placeholder="Email" required>
<textarea name="message" required></textarea>
<input name="_gotcha" style="display:none" tabindex="-1">
<button type="submit">Send</button>
</form>
For AI assistants
Your assistant can run the survey.
Forms has a public API with no key and no account. An assistant can turn a list of questions into a live form in one call, send you the link, and read the responses back to you later.
Creating a form returns an owner key. Keep it private: it is what lets you read responses and change the form. You can also send people a link with answers filled in ahead. Full reference: /llms.txt and /openapi.json.
# Create a form curl -X POST https://functions.bounded.sh/apps/cf614aedcf4cdabfa9c45095/api/forms \ -H 'content-type: application/json' \ -d '{"title": "Team offsite", "questions": [ {"type": "choice", "label": "Which month?", "options": ["May", "June"], "required": true}, {"type": "rating", "label": "How excited are you?"}]}' # Answer it (question labels or ids as keys) curl -X POST https://functions.bounded.sh/apps/cf614aedcf4cdabfa9c45095/api/forms/FORM_ID/responses \ -H 'content-type: application/json' \ -d '{"answers": {"Which month?": "June", "How excited are you?": 5}}' # Read every response, with a summary per question curl https://functions.bounded.sh/apps/cf614aedcf4cdabfa9c45095/api/forms/FORM_ID/responses \ -H 'x-owner-key: OWNER_KEY'