Skip to main content

Features

Features

A single endpoint for submissions, spam filtering, file uploads, and delivery. Works with any frontend. No backend code required.

Any Frontend

Works with any website or app

Point your HTML form, React component, or API call at a Formcore endpoint. If it can make an HTTP POST, it works. No libraries or SDKs.

HTML React Next.js Svelte Astro cURL Any stack
<form action="http://formcore.io/f/YOUR_FORM_ID" method="POST">
  <input type="text" name="name" required />
  <input type="email" name="email" required />
  <button type="submit">Submit</button>
</form>

Protection Layers

Honeypot Fields
Cloudflare Turnstile
Timing Analysis
Keyword Filter
IP Rate Limiting
Spam Protection

Built-in spam protection

Every form gets configurable spam protection. Choose a preset or enable individual checks. Up to five layers working together to filter out bots and junk.

No third-party spam service required. Turnstile available for CAPTCHA-level protection.

Spam protection docs
Integrations

Send submissions anywhere

Submissions can trigger emails, webhooks, and Google Sheets rows. Connect to Slack, Discord, Zapier, n8n, Make, or anything that accepts webhooks.

Webhooks and Google Sheets included on all plans. Email notifications use action credits.

Integration docs

Email Notifications

Formatted email with all field data on every submission

Webhooks

JSON payload to any URL — Slack, Discord, Zapier, n8n, Make

Google Sheets

Auto-sync rows with header reconciliation and dedup

Upload Flow

1

Create upload session

POST /f/:id/uploads

2

Upload files to session

POST /f/:id/uploads/:session/files

3

Submit form with _session token

POST /f/:id

20 MB per file default. File count, size limits, and storage configurable per form. Storage starts at 5 GB (Pro) up to 25 GB (Business) with overage available.

File Uploads

File uploads, per form

Enable uploads on any form with type restrictions, size limits, and storage ceilings. Files are validated by content (magic bytes, not just extensions), stored on Cloudflare R2, and linked to their submission automatically.

  • File type restrictions (images, docs, media, or custom)
  • Configurable size and count limits per form
  • Per-form storage ceiling with real-time monitoring
File upload docs

And more

Everything else

Included with every account.

Auto-Schema Detection

Fields detected automatically from submitted data. No config needed.

Submission Dashboard

Browse, search, and drill into every submission in real time.

CSV Export

Download submission data as CSV anytime, formula-injection safe.

Custom Redirects

Send users to your own page after submit, or use the built-in thank-you page.

Form Toggle

Instantly stop or resume accepting submissions per form.

Project Organization

Isolate forms, data, billing, and team per project.

Role-Based Access

Owner, admin, editor, viewer — with optional per-form restrictions.

Per-Project Billing

Each project gets its own plan and usage meters. No shared pools.

Server Token Auth

Restrict form submissions to requests with a valid secret token.

Copy-Paste Snippets

Ready-made HTML, JS, and cURL snippets for every form.

CORS Support

Submit from any origin — localhost or production. No proxy needed.

JSON & Form Data

Submit as application/json or multipart/form-data. Both work seamlessly.

Reserved Fields

_next, _error, _timestamp — control behavior from your frontend.

Time Zones

Per-project and per-form timezone config. Timestamps display correctly.

Usage Model

Submissions, actions, and storage tracked independently. Pay for what you use.

What's Next

On the radar

Features we're actively considering. Nothing is guaranteed, but these are top of mind.

Project Organization Tools

Better tooling for managing projects with lots of forms — grouping, navigation, and overview improvements as your project grows.

More Integrations

Webhooks already connect to most services. We'll add purpose-built integrations where webhooks fall short — just like we did with Google Sheets.

Exiting Beta

We're hardening paid features and scaling infrastructure. Beta ends when every paid feature is bulletproof for standard use and we're running on redundant infrastructure.

Have something you'd like to see? Request a feature