Add a Working Contact Form to Your Jekyll Site

Jekyll is perfect for blogs, documentation, and personal sites hosted on GitHub Pages. But GitHub Pages doesn't support server-side code, which means you need an external service to handle form submissions. FormsList is that service. Adding a contact form to Jekyll is as simple as dropping an HTML form into a layout, include, or Markdown page. Point the form action at your FormsList endpoint and you're done — no Jekyll plugins, no Ruby gems, no JavaScript required. FormsList is particularly popular with Jekyll users because it works on GitHub Pages out of the box. GitHub Pages doesn't allow custom plugins, which means many form solutions won't work. FormsList needs nothing on the server side — just an HTML form action URL.

Setup Jekyll with FormsList

1

Create a FormsList endpoint

Sign up at FormsList and create a new form. Copy the endpoint URL.

https://formslist.com/f/YOUR_FORM_ID
2

Add a contact page with the form

Create a contact.md or contact.html page in your Jekyll project. Add the HTML form with your FormsList action URL.

---
layout: default
title: Contact
permalink: /contact/
---

<form action="https://formslist.com/f/YOUR_FORM_ID" method="POST">
  <input name="name" required />
  <input name="email" type="email" required />
  <textarea name="message" required></textarea>
  <button type="submit">Send</button>
</form>
3

Push to GitHub Pages and configure

Commit and push your changes. GitHub Pages will build and deploy your site. Configure email notifications in the FormsList dashboard.

Why use FormsList with Jekyll?

Works on GitHub Pages without custom plugins
No JavaScript or Ruby gems required
Compatible with any Jekyll theme
Supports Jekyll's Liquid template variables
Built-in spam protection
Custom redirect to a Jekyll thank-you page

Frequently Asked Questions

Ready to collect form submissions?

Set up your form backend in under a minute. No server required, no complex configuration — just a simple endpoint for your forms.