← back to writing
My Projects

Easy Form - the Craft CMS form plugin I built for clients

Most form plugins for Craft CMS are heavy on elements and light on client convenience. Easy Form is not an element low-weight: multilingual, one-line render, fast storage.

Yann Kost August 15, 2026 · 3 min read

Second self-made thing in this series: Easy Form, a form plugin for Craft CMS 5.

Form plugins always annoyed me from two sides. As a developer, every submission became a heavy Craft element, with all the overhead that brings. And as someone who builds sites for clients, the client could never fix a label or a translated message on their own. Easy Form is my answer to both.

What it is

Easy Form renders any form with one line of Twig, {{ easyForm('contact') }}, including validation and AJAX submit. If one line isn't enough, there's easyFormLayout() to build your own markup, plus hooks on the JavaScript submit lifecycle and PHP events on the server side. Freedom without making the simple case hard.

The multilingual part is the thing I'm proudest of. Labels, success messages and validation messages all translate per Craft site, with six locales shipped out of the box, and the client edits the wording from the control panel. No developer round trip to fix a typo in German.

Under the hood, forms and submissions live in their own tables, not as elements. That means no element and content table joins per submission, just reads against indexed columns. A contact form and a 100,000 entry campaign sit in the same plugin without slowing the site down, and the queued exports never load everything into memory.

Spam protection is server-enforced, not a client-side checkbox: honeypot, blocked keywords and domains, per-IP rate limits, Turnstile and reCAPTCHA v2 and v3. Emails with CC/BCC and attachments, signed webhooks, and GDPR things like IP anonymization, per-email erase and retention pruning are all included.

Pricing is one plan, everything included: $59 the first year, then $29/year if you want updates to keep coming. The license never expires, the plugin keeps working when you don't renew.

If that gap sounds familiar, craft-easyform.cloud has the details and the docs cover the rest. The Plugin Store version is here. Same motivation story as the other posts: my projects, and me writing them down to keep me moving forward.

Keep reading