Alternatives

Web3Forms alternative: Ikiform vs Web3Forms

Ikiform vs Web3Forms compared honestly: email-first forwarding versus a stored, validated backend, with a migration guide for access_key forms.

Preet SutharFounder, Ikiform

Web3Forms started as a way to get form submissions into your inbox with nothing but an access key in a hidden input. Its free plan is generous, its setup is a copy-paste, and its paid plans add webhooks, attachments, domain restriction and a submissions API.

Ikiform is built the other way around. Every submission is stored first, then delivered by signed webhook and email. If the inbox is the destination, Web3Forms is simpler. If your app or your team's tools are the destination, Ikiform's delivery and validation matter more.

Checked on October 24, 2026 against Web3Forms's public pricing pages and docs. Ikiform makes this comparison; every Ikiform fact comes from our own docs. Prices and limits change, so the sources are listed at the end.

At a glance

FeatureIkiformWeb3Forms
Free planNone. Every plan is paid250 submissions a month, unlimited forms and domains
Paid plansPro from $6/mo for 500 submissions, up to $399/mo for 1,000,000. Every feature on every tier. Yearly is 10 months' price for 12Starter, Pro and Agency. Current prices are on their pricing page
How a form is identifiedA form id in the endpoint URLA public access_key sent as a hidden field
File uploadsNot supported yet. A post with a file gets 422 files_not_supportedPaid plans. Single files up to 5 MB, or the advanced uploader for more
Webhooks3 endpoints per workspace, signed with HMAC-SHA256, 9 attempts over about 3 d 6 h, with delivery logsPaid plans. JSON over HTTPS with automatic retries. The docs don't describe a signature
Spam protectionHoneypot (_gotcha), content scoring, per-form rate limits, allowed domains and an optional Cloudflare Turnstile check, with no keys neededServer-side spam checks and free hCaptcha. reCAPTCHA, Turnstile and domain restriction are paid. The botcheck honeypot is deprecated in their docs
Autoresponder and CCNo. Ikiform only emails you, not the person who filled in the formPaid plans
APIREST API with scoped secret keys, plus the @ikiform/sdk TypeScript packageSubmissions API on paid plans
Data locationCloudflare, with the database in Asia-Pacific. EU Standard Contractual Clauses in the DPAServers in the United States, US-East region, per their FAQ

Where Web3Forms is the better choice

  • You want a contact form that emails you, for free. 250 submissions a month at no cost is hard to argue with.
  • You want the person who filled in the form to get an automatic reply, or a CC to a colleague. Both exist on Web3Forms paid plans; Ikiform has neither.
  • Your form needs attachments. Web3Forms accepts files on paid plans; Ikiform doesn't yet.
  • You'd rather not create a form in a dashboard first. An access key is all the form needs.

Where Ikiform is the better choice

  • You need to prove a webhook came from your form backend. Ikiform signs every delivery with HMAC-SHA256; Web3Forms' webhook docs list HTTPS and retries but no signature.
  • You want submissions kept and searchable, with spam stored separately for review, instead of relying on what reached your inbox.
  • You want invisible spam protection without a paid plan's captcha: Ikiform's scoring, rate limits and Turnstile check run on every tier.
  • You want the server to reject a bad email address or a missing required field, and return errors your form can show next to each input.
  • You post from code. Ikiform answers JSON requests with JSON and a submission id, and the TypeScript SDK and REST API come with every tier.

Who should pick which

Pick Web3Forms if the job ends in your inbox and you want it free. It is the shortest path from a static page to an email.

Pick Ikiform if submissions need to reach your own systems, be verified on arrival, and be validated before they're stored.

Migrating from Web3Forms

Web3Forms reads plain field names like subject and redirect and identifies the form by access_key. Ikiform uses the URL to identify the form and _-prefixed names for instructions, so a few renames do most of the work.

Field mapping

Web3FormsIkiformNotes
action="https://api.web3forms.com/submit"action="https://ikiform.com/f/frm_..."One endpoint per form, copied from the dashboard.
access_keyRemove itNot needed. Left in, it would be stored as an ordinary field.
subject_subjectA plain subject is stored as an answer. Rename it to set the notification subject.
redirect_redirectMust be https: on an allowed domain, or set Redirect after submit in the dashboard.
replyto_replyto or an email fieldNotification emails already reply to a field named email.
from_nameNoneIkiform sends notifications from its own address. Drop the field.
ccemailNoneAdd recipients in the form's notification settings, up to 10.
botcheckHoneypot field settingSet Honeypot field to botcheck and keep the input, or rename it to _gotcha.
hCaptcha div and client/script.jsSpam check: IkiformRemove both. For HTML form posts, Ikiform's human check runs Turnstile with no script on your page. fetch posts need a token from the SDK's challenge function.
webhook hidden fieldWebhook endpoint in the dashboardWebhook URLs live in your workspace, not in the page, so visitors can't see or change them.
attachment file inputNoneNot supported yet.

Before and after

<form action="https://api.web3forms.com/submit" method="POST">
  <input type="hidden" name="access_key" value="YOUR_ACCESS_KEY_HERE" />
  <input type="hidden" name="subject" value="New contact message" />
  <input type="hidden" name="from_name" value="Example site" />
  <input type="hidden" name="redirect" value="https://example.com/thanks" />
  <input type="checkbox" name="botcheck" style="display: none" />
  <input type="email" name="email" required />
  <textarea name="message" required></textarea>
  <div class="h-captcha" data-captcha="true"></div>
  <button type="submit">Send</button>
</form>
<script src="https://web3forms.com/client/script.js" async defer></script>

Steps

  1. Create an Ikiform form and copy the endpoint.
  2. Add your notification recipients and your site's domains in the form settings.
  3. Set Honeypot field to botcheck, or rename the input to _gotcha.
  4. Remove access_key, from_name, ccemail, the hCaptcha div and the Web3Forms script.
  5. Rename subject to _subject and redirect to _redirect.
  6. If you posted with fetch and JSON, keep the call, change the URL and make the same changes in the body: drop access_key and from_name, rename subject to _subject, and drop redirect, since JSON posts get a JSON answer instead of a redirect. Navigate in your own code when the answer is ok.
  7. Send a test, check it in the dashboard, then delete the old access key in Web3Forms.

What doesn't carry over

  • Autoresponders, CC emails and file attachments have no Ikiform equivalent.
  • There is no free tier to move to.

FAQ

Is the Web3Forms access key a secret?

No, and Web3Forms says so: it works like an email alias. Ikiform's form id is public in the same way. The difference is that Ikiform also lets you limit posts to your own domains on every tier.

Why rename subject to _subject?

Ikiform treats every name without a leading underscore as an answer to store. Names starting with _ are instructions, so _subject sets the email subject and isn't saved as data.

Does Ikiform store my submissions?

Yes. Received submissions are kept until you delete them, and spam is kept for 30 days so you can rescue false positives. You can export them as CSV or read them with the API.

Can I keep hCaptcha?

Not directly. Ikiform supports Cloudflare Turnstile, either run by Ikiform with no keys or with your own keys. Remove the hCaptcha widget when you switch.

Sources

Checked on October 24, 2026.

Trademarks and accuracy

Web3Forms and the other product names on this page are trademarks of their owners. Ikiform isn't affiliated with, endorsed by or sponsored by any of them. What this page says about Web3Forms comes from its public pricing pages and docs as of October 24, 2026, linked under Sources. If anything here is wrong or out of date, email hello@ikiform.com and we'll correct it.