Overview
What Formlander does, how a submission flows, and the smallest form that works.
Formlander receives the forms of your sites on your own server. It is one Go program with a SQLite database, shipped as a Docker image, and open source.
- Your data stays on your server. No form service in the middle.
- Any form works. Point an HTML form or a
fetchcall at it: no schema to define. - Deliveries: each submission can go to email (SMTP or Mailgun) and to a webhook, with retries.
- Spam protection: allowed sites, fixed rate limits, a honeypot, and Cloudflare Turnstile.
- An admin to create forms, read submissions, download files, and export CSV.
How a submission flows
Section titled “How a submission flows”your form ──► Formlander ──► SQLite ├──► email (SMTP or Mailgun), with retries └──► webhook, with retriesEach form has an address, and a public token that lets someone submit to that form only:
POST https://<your-domain>/forms/<form>/submit?token=<token>It takes application/x-www-form-urlencoded, multipart/form-data with files, or JSON.
The smallest form
Section titled “The smallest form”<form action="https://forms.example.com/forms/contact/submit?token=YOUR_TOKEN" method="post"> <label>Name <input type="text" name="name" required></label> <label>Email <input type="email" name="email" required></label> <label>Message <textarea name="message"></textarea></label> <button type="submit">Send</button></form>Add or remove fields freely: Formlander stores what it gets as JSON. In the form’s settings, put your site in Allowed sites.
Next steps
Section titled “Next steps”- Install Formlander on your server.
- Sign in, create a form, and copy its address into your HTML.
- Add the honeypot or Turnstile, and connect email or a webhook: see Integration and Spam and security.
Formlander is open source, MIT licensed: source and releases on GitHub.