Skip to content
Formlander

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 fetch call 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.
your form ──► Formlander ──► SQLite
├──► email (SMTP or Mailgun), with retries
└──► webhook, with retries

Each 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.

<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.

  1. Install Formlander on your server.
  2. Sign in, create a form, and copy its address into your HTML.
  3. 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.