Skip to main content
Latest — v4.3.5 · 20% off with code CFLAUNCH

Every premium WordPress form feature. No add⁠-⁠on tax.

Battle-tested on client sites for years, now public. File uploads, webhooks, Mailchimp, MailerPress, submissions, reCAPTCHA, Turnstile, payments via Stripe / PayPal / Razorpay / Polar / FluentCart, and a headless REST embed for Astro and Next.js — bundled in one plugin, one license for every site you’ll ever build. Most forms plugins hide the good parts behind a $199/year pricing ladder. Core Forms doesn’t.

Unlimited sites Every premium feature 14-day refund $59/yr or $249 once
Core Forms visual field builder in the WordPress admin

Built by an experienced WordPress developer

Experienced WordPress Developer & Webperf Advocate 8,000+ active installs across free plugins Indie, lifetime-supported
Everything in the box

All the premium features, none of the add-on tax

Most WordPress forms plugins hide the good parts behind a pricing ladder. Core Forms ships every feature in one plugin, one license, one payment.

Write in HTML or build visually

Use the drag-and-drop field builder or drop in your own HTML — the markup you ship is exactly the markup you get.

18 accessible starter templates

Pick a starting point — contact, newsletter, RSVP, support, booking, lead capture, six payment-ready templates — and ship in under a minute.

AJAX submissions

No page reloads, no bloat. A single small JS file handles validation, submission, and success states.

Gutenberg block + shortcode

Insert forms with the native Gutenberg block, or anywhere shortcodes work with [cf_form slug="your-form"].

Fullscreen forms (Typeform-style)

Show one question at a time, full-bleed, with smooth animations and a progress bar. No third-party redirect, no per-response pricing.

Conditional fields & actions

Show, hide, and skip fields or actions based on values with simple data-show-if attributes.

Data variables

Use {{user.email}}, [field_name], {{post.ID}} and URL params in forms, emails, redirects and webhooks.

File uploads

Let users attach files out of the box — per-field size limits, allowed types, storage controls. No add-on needed.

Spam protection stack

reCAPTCHA v3, hCaptcha, Cloudflare Turnstile, Akismet, honeypot, and math captcha. Mix and match per form.

Rate limiting & submission caps

Cap submissions per IP per hour, total submissions per form, or block duplicates within a session.

Submissions inbox

Read, reply, archive and search submissions in WordPress. New, read, replied, archived workflow.

CSV export & email logs

Export any submissions table to CSV. Track email delivery with a built-in email log.

Save & resume drafts

Long forms? Let users save progress and return via a unique link. Drafts auto-expire so they do not pile up.

Emails & auto-responders

Send rich HTML notifications and automated replies with field merges, conditional logic, and email logs.

Webhooks & REST API

Pipe form data to any external service. Manage submissions programmatically via the WordPress REST API.

Take payments on submission

Stripe, PayPal, Razorpay, Polar and FluentCart — connect once globally, then flip a per-form toggle.

FluentCart hosted checkout

Hand a form submission off to FluentCart's checkout for products and subscriptions, on free or Pro.

Mailchimp, MailerPress, FluentCRM + 25 more

Subscribe form users to lists, push to CRMs, post to Slack/Discord, drop into Notion or Airtable, fire Zapier or Make.

Headless / REST submissions

Render and submit forms from Astro, Next.js or any non-WordPress site. Site-wide API key + drop-in widget.

Form scheduling

Open and close forms by date, day-of-week and time-of-day. Overnight windows supported.

WCAG 2.2 accessibility

Every starter template ships WCAG-compliant — labels, fieldsets, autocomplete, aria-required. Forms work for everyone.

Built-in polls

Quick yes/no or multi-option polls with vote storage, single-vote-per-IP, and results visualization.

Plays well with others

Every integration you need, built in

Core Forms ships with first-class support for the services WordPress site owners actually use. No Zapier workarounds, no premium add-ons — wire up email, CRM and spam protection in minutes.

Browse all integrations →

Plus anything else via webhooks and the REST API — Zapier, Make, n8n, Slack, Discord, Airtable, Notion, your custom Laravel app. If it speaks HTTP, Core Forms can talk to it.

Product tour

Designed to feel like WordPress itself

No unfamiliar dashboards, no second login. Core Forms drops into your WordPress admin and uses the UI patterns you already know.

Core Forms field editor in the WordPress admin
Add New Form template gallery
Per-form Payment tab with provider picker
Per-form Headless tab with embed snippets
Per-form Submissions list with Inbox + Spam filters
Cross-form submissions inbox
Per-form Settings tab with accordion sections
Actions tab with configured integrations
What’s new

Shipping in the open

Core Forms ships small, focused releases — most weeks. Every release is free for existing license holders, forever. Here’s what landed recently.

v4.3.5 Latest June 6, 2026

Kills a legacy pre-4.0 block script that was hijacking the Gutenberg editor on every site

  • Fixed: the Core Forms block editor experience is back to normal. A legacy pre-4.0 script (assets/js/gutenberg-block.js) was still being enqueued on enqueue_block_editor_assets and registering core-forms/form before block.json could — that's why 4.3.3 and 4.3.4 editors fell back to a generic blue "CF" icon and a single dropdown with no live preview and no inspector panels. The legacy enqueue is gone; block.json now owns the entire editor lifecycle, and the modern Edit component (ServerSideRender preview, Form/Header/Layout/Stylesheets panels, the correct form icon) loads as intended.
  • Fixed: the legacy script had no version arg on wp_enqueue_script, so its URL was cache-busted against the WP core version (?ver=7.0) instead of the plugin version — confusing in dev tools and bad for hot-fix cache invalidation. All block assets now version-bust against CORE_FORMS_VERSION via block.json's version field.
  • UX: reverted the 4.3.4 form-picker label tweak — the dropdown shows "Title (slug)" again so forms sharing a base title (e.g. "Contact" / "Contact Us") stay distinguishable.
Full notes on the changelog →
v4.3.4 June 6, 2026

cf_get_form() and submission counts are now request-scoped memoised + small editor polish

  • Performance: cf_get_form() is now request-scoped memoised. The same form requested multiple times per page (block render, get_html, the action loop, the analytics tracker) no longer re-fetches the post + meta and rebuilds the settings/messages arrays — second call onward is a cache hit. Returns clones so callers can't mutate the cached instance. Invalidated on save_post_core-form and *_post_meta hooks (post-type-gated so other CPTs touching meta don't trash the cache), so admin saves still see fresh data inside the same request.
  • Performance: cf_count_form_submissions() is now request-scoped memoised. The forms list table used to issue one COUNT(*) per row — a 50-form admin was 50 queries; now it's 50 cache hits with one query per (form_id, spam-filter) pair. Invalidated on cf_submission_inserted.
  • UX: pressing / or s on the Core Forms list page focuses the search box. Standard list-UI shortcut (GitHub, GitLab, Linear, every modern dashboard). Skipped when an input, textarea, or contenteditable already has focus so it never hijacks typing.
Full notes on the changelog →
v4.3.3 June 5, 2026

Missing submission_replies table self-heals + un-spam replays the action loop

  • Fixed: opening a submission no longer throws "Table 'wp_cf_submission_replies' doesn't exist". The reply-history feature queried a table that no installer or migration ever created. The table is now created on activation, on new-blog insert, on multisite activation, and backfilled by a 4.3.3 migration — existing sites self-heal on update.
  • Fixed: moving a submission out of spam via the per-form submissions-table "Not Spam" bulk action now fires the form's success and configured actions (notifications, integrations) that were skipped at submit time. The spam-page single + bulk paths already did this; the per-form table path didn't, so it silently delivered nothing.
  • Internal: the un-spam action replay is centralised in cf_replay_submission_actions() so the single, bulk, and submissions-table paths can't drift apart again.
Full notes on the changelog →
v4.3.2 June 2, 2026

Frontend asset loading — only enqueued when a form is actually on the page

  • forms.js, accessibility.js, analytics.js and the form stylesheets only load on pages that actually render a Core Forms block or shortcode — no more global enqueue tax on posts and pages that have nothing to do with forms.
  • Removed the redundant block-level viewScript metadata since rendered forms already enqueue the runtime directly. Cleaner request waterfall, no double-loading.
  • New unit tests for the asset-detection logic, including the poll-only case (a page with a [cf_poll] but no [cf_form] still gets the poll runtime, nothing else).
Full notes on the changelog →

View the full changelog → See what’s shipping next →

Simple pricing

Two ways to buy. Both unlimited.

Same plugin, same features, same support — pick the cadence that suits you. Every plan covers unlimited sites, every premium feature, and a 14-day no-questions refund.

20% off Public launch offer — apply code CFLAUNCH at checkout.

Yearly

Lower entry price · renews annually

$59 / year

$59 $47/yr with code CFLAUNCH

  • Unlimited sites — personal & client
  • Every premium feature included — no add-ons
  • All integrations: Mailchimp, MailerPress, FluentCRM, Emailit, HubSpot…
  • Submissions inbox, replies, exports, email logs
  • reCAPTCHA v3, hCaptcha, Turnstile, Akismet
  • Updates and priority email support while subscribed
  • 14-day money-back guarantee
Get Yearly — $59/yr →

per year · renews annually

Both plans include every integration on this site, every premium feature, and unlimited sites. Switching plans later? Email us — we’ll prorate.

Gaurav Tiwari, creator of Core Forms, at work
Built by Gaurav Tiwari

An indie developer and web performance advocate.

I’m Gaurav — I’ve been building with WordPress since 2008, shipping free plugins used on 8,000+ active sites, and obsessing over web performance the whole way. I’ve worked with companies like IBM, Adobe, HubSpot, Monday and Canva on content and developer tooling, but my favorite thing is still sitting down and shipping small, fast, honest software.

Core Forms is a forms plugin I wanted for myself: no add-on upsells, no bloat, a codebase I’d be happy to read, and an admin UI that feels like WordPress. Buy it and you’re supporting indie software — and you’ll always reach me personally for support at gaurav@gauravtiwari.org.

More free plugins

My other WordPress plugins on WordPress.org

Free, lightweight, actively maintained. Try any of these alongside Core Forms — they play nicely together.

Dynamic Month & Year into Posts

Dynamic shortcodes for dates, years, months, age calculations, seasons and countdowns — in content, titles and meta.

8,000+ active installs
View on WordPress.org →

GT Link Manager

Fast, free branded link manager with custom DB tables, early redirects, CSV import/export and block editor integration.

100+ active installs
View on WordPress.org →

Dynamic Functionalities

Replace 5+ plugins with one lightweight toolkit. 16 modules for performance, security, SEO, redirects and content management.

Fresh release
View on WordPress.org →

Formatting Extender

Extends the Block Editor formatting toolbar with inline controls — badges, highlights, and more.

Free on WordPress.org
View on WordPress.org →

Beautiful Recent Posts Widget

A clean, minimal sidebar widget to showcase your recent articles in a beautiful way.

Free on WordPress.org
View on WordPress.org →
Questions?

Frequently asked

Do I have to buy add-ons for file uploads, webhooks or Mailchimp?
No. Every premium feature — file uploads, webhooks, Mailchimp, MailerPress, Emailit, submission limits, logged-in forms, data management — is bundled with your purchase. One price, everything included.
How many sites can I use it on?
Unlimited. Both the Yearly and the Lifetime plan cover every personal and client site, with no per-site activation count.
What’s the difference between Yearly and Lifetime?
Both plans give you the exact same plugin, every premium feature, every integration, and unlimited sites. Yearly ($59/year) renews annually and is the lower-friction way to start. Lifetime ($249 one-time) is a single payment, every update forever, no renewals — it pays for itself after about four years vs. Yearly. Pick whichever fits your cashflow.
Is there a discount?
Yes — use code CFLAUNCH at checkout for 20% off either plan. That brings Yearly to $47/year and Lifetime to $199 once.
What’s your refund policy?
14 days, no questions asked. If Core Forms isn’t the right fit, email us and we’ll refund you — no forms to fill out.
Can my forms take payments?
Yes. Connect Stripe, PayPal, Razorpay or Polar.sh once under Settings → Payments, then flip a per-form toggle. Submissions stay in <em>pending payment</em> until the gateway’s webhook confirms — only then do email and integration actions fire. Six payment-ready starting points (one-time, donation, subscription, event ticket, FluentCart product, INR Razorpay) ship in the box.
Does Core Forms work with FluentCart?
Yes — Core Forms hands form submissions off to FluentCart’s checkout for any product variation, free or Pro, one-time or subscription. Address fields collected on the form prefill the FluentCart checkout (and feed its tax engine), and paid orders flip the submission to <em>paid</em> automatically through fluent_cart/order_paid_done.
Can I use Core Forms on Astro, Next.js or a non-WordPress site?
Yes. Set a site-wide API key under Settings → Headless, flip the per-form Headless toggle, and copy a snippet — drop-in vanilla JS widget, native fetch, or cURL. The form renders on your headless front-end and submissions run through the same validation, captcha and action loop server-side in WordPress.
What version is Core Forms on right now?
Core Forms 4.3.5 (June 6, 2026) is the latest release — a hot-fix that removes a legacy pre-4.0 block script that was hijacking the Gutenberg editor on every site, so the block editor preview, inspector panels, and form icon all work again. 4.3.4 (same day) added request-scoped memoisation for cf_get_form() and the submission counts that drive the forms list table, plus a / and s keyboard shortcut on the list page. 4.3.3 (June 5) self-healed a missing submission_replies table and made "Not Spam" replay the action loop everywhere. The 4.3 line shipped the polls rework, three third-party form importers (Gravity Forms, WPForms, Fluent Forms) and conditional per-recipient emails. 4.2 added WhatsApp (three ways), Contact Form 7 migration, per-form analytics, form versioning, and a 14-finding security audit. 4.1 added payments (Stripe, PayPal, Razorpay, Polar, FluentCart) and headless / cross-origin submissions. 4.0 shipped stable on May 1, 2026. Buy once and you get every release after that, forever — full notes on the Changelog page.
What are the WordPress requirements?
WordPress 6.4 or higher and PHP 8.1 or higher. Core Forms is built to be lightweight and is tested on the latest WordPress release.
Does it work with block themes and the site editor?
Yes. Core Forms ships a native Gutenberg block, works anywhere shortcodes are allowed, and plays nicely with FSE, Bricks, GenerateBlocks and classic themes.

Stop paying the add-on tax.

Every premium feature, every integration, unlimited sites — for $59 a year, or $249 once. Use code CFLAUNCH at checkout for 20% off.