send.webforms.toRead the docs →

Comparison

Web3Forms, but with routing and a delivery log

Web3Forms is a genuinely good form-to-email service. WebForms is what you move to when one inbox is no longer enough.

Start freeSee pricing

Web3Forms does one thing well: you verify an email address, paste the access key it gives you into a hidden input, and submissions arrive in that inbox. For a personal site or a landing page that just needs a contact form, that simplicity is the feature, and swapping it for something heavier would be a downgrade. It is not a bare relay either. Its terms say submissions are kept for up to three years, with how much the dashboard shows depending on your plan.

The limits show up when a form has to reach more than one place. Webhooks and Google Sheets sit on Web3Forms' paid plans, and its docs do not describe routing a submission by what it says, checking whether a notification was delivered, or retrying one that failed. Getting the same enquiry into a Slack channel and your CRM at once means building that yourself behind a webhook.

WebForms keeps the part that works: point a form at an endpoint, no backend, no SMTP credentials. Behind it, one submission can go to email, Slack, Discord, Telegram and webhooks at once, routing rules send it to different places depending on the answers, and every attempt is logged with its status. A failed webhook is retried; an email address that bounces is suppressed so it is never mailed again. A missing notification becomes something you can diagnose instead of guess about.

When to stay with Web3Forms

Switching has a real cost. These are the cases where we would not bother.

Weighing Web3Forms against another service instead? Formspree vs Web3Forms, Web3Forms vs FormSubmit, Netlify Forms vs Web3Forms, Formspark vs Web3Forms.

WebForms vs Web3Forms

Capability by capability, then their published prices. Anything we quote for Web3Forms was read off their own pricing page on the date shown, but prices change, so check their pricing directly before deciding.

CapabilityWebFormsWeb3Forms
SetupPoint the form action at your endpoint. No backend, no SMTP.Paste an access key into a hidden input. No backend either.
Submission storageStored, searchable and exportable as CSV or JSON. Kept 30 days on Free, 180 on Pro, 365 on Agency.Kept for up to three years under its terms, with dashboard visibility depending on plan.
Destinations per formEmail on Free. Email, Slack, Discord, Telegram and webhooks from one submission on paid plans.Email. Webhooks and Google Sheets on paid plans.
Delivery visibilityPer-destination log with status, response and retry history.Not a documented feature.
Failed delivery handlingWebhooks and chat apps retry with backoff. A bounced email is never resent, and the address is suppressed.Retries are not a documented feature.
Routing rulesRoute on field values on paid plans: budget over X to sales, everything else to support.Not a documented feature.
Spam filteringHoneypot, Turnstile, rate limits and an AI classifier, all on the free plan too.Honeypot on every plan. reCAPTCHA and Turnstile on paid plans.
Signed webhooksHMAC-SHA256 signature and timestamp on every webhook.Webhooks on paid plans. Signing is not a documented feature.
Reading submissions by APIREST API on paid plans.Submissions API on Pro.
Team access3 seats on Pro, 10 on Agency.Team collaboration on paid plans.

Web3Forms pricing

Read from their pricing page on . Prices in USD.

PlanPriceSubmissions
PersonalFree 250 / month
Starter$49 / year Yearly only, by application, for students, early-stage startups and non-profits5,000 / month
Pro$15 / month $149 billed yearly. US prices; Web3Forms localises prices by country10,000 / month
Agency & Team$39 / month $399 billed yearly20,000 / month

Moving from Web3Forms

  1. Create a form and copy the endpoint

    Sign up, add a form, and copy its endpoint URL. Nothing is charged and no card is needed for the free plan.

  2. Swap the action attribute

    Replace the Web3Forms action URL with your WebForms endpoint and delete the hidden access_key input. Your existing field names carry over unchanged: we do not require a particular naming scheme.

  3. Add your destinations

    Add an email destination to match what you had, then add Slack, Discord, Telegram or a webhook if you want them. All of them receive the same submission.

  4. Submit once and confirm

    Send a real submission. It appears in the dashboard immediately and the delivery log shows each destination's result, so you can confirm the switch before you deploy it everywhere.

Want the field-by-field version? Read the complete Web3Forms migration guide

Try it without deciding anything

The free plan includes 300 submissions a month, unlimited forms, email delivery, stored submissions and spam filtering, with no card required and no expiry. Point one form at it and keep Web3Forms running on the others until you are convinced.

Questions

Close to it. Both are plain HTML form POSTs with no backend, so you change the action URL and remove the access_key input. Field names, redirects and AJAX submissions all keep working. The difference is what happens after the POST: one submission can reach several destinations, and each delivery is logged.

Other comparisons