Jotform

jotform.comcontributed by Samuele Ongaro

YES

Replaceable in one session with an AI coding agent.

A form builder with a large template library, conditional logic, payment fields and file uploads, aimed at teams who need a form live today without involving a developer.

Promptfree, for everyone, and the only version there is
Build me a form builder that replaces Jotform: long forms with logic, payments and uploads, live today, maintained by somebody who does not write code.

STACK
- Node 20+ with Fastify, server-rendered HTML with a little vanilla JS
- SQLite through better-sqlite3, WAL mode
- No client-side framework — a multi-step form is server-rendered pages, and that is what makes it reliable
- Caddy in front

THE DATA MODEL
- forms: id, slug, name, version, definition_json, status, theme_json, published_at
- form_versions: id, form_id, version, definition_json, published_at — a submission records the version it was filled against, because a form edited today must not change what somebody answered yesterday
- submissions: id, form_id, form_version, token, status, started_at, submitted_at, ip_hash, referrer_host, country, payment_id
- answers: id, submission_id, field_key, value_text, value_num, value_json
- files: id, submission_id, field_key, original_name, path, sha256, mime_detected, bytes, scan_status, quarantined
- payments: id, submission_id, provider_ref, amount_cents, currency, status, paid_at
- notifications: id, form_id, kind, target, template_md, condition_json
- deliveries and events, both append-only

THE DEFINITION
- One JSON document: pages, fields, conditions, validation, notifications. Data, versioned and diffable
- Conditions as an explicit expression tree over earlier answers. Never evaluated code
- One evaluator module, used by the server and by the browser, so what is shown and what is accepted can never disagree
- Validated on save: an unknown field reference, an unreachable page, or a condition that can never be true is an error before publishing rather than a dead end for somebody filling it in

FIELD TYPES
- Text, long text, number, email, phone, date, time, dropdown, radio, checkbox, matrix, rating, scale, address, name, file upload, signature, hidden, and a page break
- Signature captured as a path and rasterised at print resolution, not screenshotted from the canvas
- Address with sensible international handling — never a form that requires a state and a five-digit postcode
- Each type has a parser, a validator, a formatter, a CSV form and an accessible markup template. Write that contract once

BUILDING WITHOUT CODE
- A builder where fields are added, reordered and configured, with a live preview at phone and desktop width
- Templates to start from, which is most of why the original is bought — build a dozen good ones rather than three hundred mediocre
- Every change is a draft until published, and publishing writes a version
- The person maintaining this is not a developer. Every error message in the builder is a sentence, not a stack trace

FILLING IT IN
- Every page is a real POST. Back and forward work, a refresh loses nothing
- Progress saved per page and resumable by a token emailed to the filler — a long form on a phone gets finished on a laptop three days later
- An honest progress indicator given the conditions already met
- Errors on the field with the value kept
- Works with JavaScript disabled, end to end

UPLOADS
- Streamed to disk with a hard byte limit enforced as it arrives, type from content rather than filename, an allow-list per field
- Stored by hash outside the web root; the original name kept as a label only, with directory components stripped
- EXIF stripped from images, including the location
- Scanned with ClamAV if available, quarantined until the scan finishes
- Served only through signed expiring links, never attached to a notification email

PAYMENTS
- Hosted checkout from one provider; no card data ever reaches this application
- The amount computed on the server from the answers, never taken from the browser. This is the classic way a payment form is abused
- Webhook with signature verification and idempotency by event id; the submission is marked paid only from the webhook
- A submission with a failed payment is kept, not discarded

NOTIFICATIONS
- To the owner on submission, conditionally, with the answers laid out readably
- An autoresponder to the person who filled it in, with a copy of their answers
- Each with its own condition, each recorded, and a per-recipient daily cap so a loop cannot mail somebody four hundred times

SENSITIVE DATA, HONESTLY
- If a form collects health or payment data, the compliance regimes the original advertises are paperwork and audits, not code. You can build the technical controls — encryption at rest, access logs, retention, minimisation — but you cannot self-certify. Say so in the README and take proper advice before collecting that kind of data
- Retention per form, enforced by a sweeper that actually deletes, with the policy shown to the person filling the form

RESULTS
- A table of submissions with the answers, searchable and filterable
- Export CSV and JSON, complete, including partials and file links
- Drop-off per page and per field, which is how a long form gets shorter

OPERATIONS
- .env: DATABASE_PATH, STORAGE_PATH, BASE_URL, SESSION_SECRET, HASH_SALT, SMTP_URL, PROVIDER_KEY, PROVIDER_WEBHOOK_SECRET, CLAMAV_HOST
- Migrations on boot, each once
- Nightly backup off the machine, restore script
- Health endpoint

WHAT MATTERS MOST
Resumability, one evaluator, and computing the payment amount on the server. Build those three first, then fill a twenty-field form on a phone, close it, and finish it a day later. Everything else here is field types.

Give me the repository, migrations, .env.example, a seed form with logic, an upload and a payment, and a README with deploy steps behind Caddy and the compliance caveat stated plainly.

What you lose

  • Hundreds of ready templates and a field library covering signatures, payments and file uploads
  • HIPAA and PCI compliance features on the higher tiers, with the paperwork behind them
  • Storage and virus scanning for uploaded files
  • A form editor a non-technical colleague can use without asking you
  • Integrations that drop submissions into a hundred other products without code

If you would rather not build

  • Fillout — paid, modern builder with a generous free tier
  • Cognito Forms — paid, strong on calculations and payments

What it costs

read from their page 15 Aug 2026

PlanBilled monthlyBilled yearlyLast read
—$34/mo—15 Aug 2026

Their pricing page is where these came from. Seeing a different price? Tell us.

The escape hatch

open source · no votes, no paid placement

Formbricks

$0

Survey and form platform with logic, targeting and self-hosting.

formbricks/formbricksfree · open source

HeyForm

$0

Conversational forms with logic jumps and a built-in results view.

heyform/heyformfree · open source

Why this verdict

our own opinion · changed only by a person

79/100

Verdict yes at 79: a form, a table and a CSV export is the clearest single-session build on this list, and the prompt covers the parts people skip — server-side validation, file type checking and form versioning. Compliance features and the template library are what the money buys.

History

tracked since 9 Aug 2026 · nothing is ever overwritten

Interest · last 30 dayspeak 2/day
views01230 Aug4 Sept9 Sept14 Sept19 Sept24 Sept28 Sept
— views— prompt copies none yet— votes none yet

Questions about Jotform

answered from the record above

Is Jotform free?

No — the plan we track is $34 a month. Bronze at $34/month billed monthly, cheaper annually; limits are on submissions, storage and form count rather than seats.

Can you replace Jotform by building your own?

YES. Replaceable in one session with an AI coding agent. Replacement score 79 out of 100, build time one session. Read what you lose before you decide.

How much does Jotform cost?

$34 a month on Bronze — $408 a year. Recorded 9 Aug 2026.

What do you lose by replacing Jotform?

Hundreds of ready templates and a field library covering signatures, payments and file uploads; HIPAA and PCI compliance features on the higher tiers, with the paperwork behind them; Storage and virus scanning for uploaded files; A form editor a non-technical colleague can use without asking you; Integrations that drop submissions into a hundred other products without code. If any of those carry weight for you, keep paying.

Is there an open-source alternative to Jotform?

Yes: Formbricks, HeyForm. The prompt on this page is for when you want it your way instead.

Related entries

same category first, most replaced first

All 19 in Forms

Not sending yet

Every week, something stops being worth paying for.

New verdicts, prices that moved, entries added. One email a week. Unsubscribe in one click. Nothing is being sent yet — your address is kept here, and the first issue is the first thing it is used for.

free forever · no tracking pixel · stored here, never passed to anyone

Esc