Beginner4 minUpdated Mar 27, 2026

How to Add a Contact Form to Jekyll

Add a contact form to your Jekyll site using an HTML include. No plugins or server code required — FormsList handles submissions.

Prerequisites

  • A Jekyll site
  • A FormsList account (free)
  • Basic knowledge of Jekyll templates and Liquid

TL;DR

To add a contact form to a Jekyll site, create an HTML include with action set to `https://formslist.com/f/your-form-id`. Jekyll generates static HTML, so FormsList handles submissions, notifications, and spam filtering without any Ruby code.

1

Create a FormsList form endpoint

Sign up for a free FormsList account and create a new form. Copy the endpoint URL — you will use it as the form action in your Jekyll include.

2

Create the contact form include

Create an HTML include file in your Jekyll project's _includes directory. This form posts directly to FormsList.

<!-- _includes/contact-form.html -->
<form action="https://formslist.com/f/YOUR_FORM_HASH" method="POST" class="contact-form">
  <div class="form-group">
    <label for="name">Name</label>
    <input type="text" id="name" name="name" required />
  </div>

  <div class="form-group">
    <label for="email">Email</label>
    <input type="email" id="email" name="email" required />
  </div>

  <div class="form-group">
    <label for="message">Message</label>
    <textarea id="message" name="message" rows="5" required></textarea>
  </div>

  <!-- Optional: redirect after submission -->
  <input type="hidden" name="_redirect" value="{{ '/thanks' | absolute_url }}" />

  <button type="submit">Send Message</button>
</form>
3

Add the form to a page

Include the form in any Jekyll page or layout using the Liquid include tag. Create a contact page or add it to an existing page.

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

# Contact Us

Get in touch with us using the form below.

{% include contact-form.html %}

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.