How to Add a Contact Form to a Jekyll Website That Works for Developers

Do you want to add a contact form to your Jekyll website, but are not sure how to go about it? In this article, we will guide you through the process of adding a contact form that is both functional and developer-friendly.

Why Add a Contact Form to Your Jekyll Website?

A contact form provides a convenient way for visitors to get in touch with you directly through your website. It allows users to send you messages, inquiries, or feedback without the need for them to open their email client. Adding a contact form enhances the user experience and improves communication between you and your audience.

Step 1: Choose a Form Service

There are several form services available that can handle form submissions for your Jekyll website. Some popular options include Formspree, FormKeep, and Netlify Forms. These services make it easy to capture and process form submissions without the need for server-side scripting or complex configurations.

Step 2: Sign Up for a Form Service Account

Choose the form service that best fits your requirements and sign up for an account. Most form services offer free plans with basic features, making them suitable for small websites and personal projects. Once you have signed up, you will typically receive an API key or a form endpoint URL that you will need to integrate with your Jekyll website.

Step 3: Create the Contact Form

Create a new HTML file in your Jekyll project’s _includes directory. Name the file contact-form.html. This file will contain the HTML markup for your contact form. Keep the form simple and include fields for name, email, and message. You can use HTML’s <form> element along with the appropriate input fields and labels to structure your form.

Step 4: Connect the Form to the Form Service

Within the contact-form.html file, specify the form’s action attribute as the API endpoint provided by your chosen form service. This will ensure that form submissions are sent to the correct destination. Additionally, add the appropriate method attribute (usually POST) to indicate that the form should be submitted via HTTP POST.

Step 5: Embed the Contact Form in Your Pages

To display the contact form on your Jekyll pages, open the desired page file (e.g., and include the contact form by using the Jekyll liquid tag {% include contact-form.html %}. This will dynamically render the contact form wherever you place this tag within your page’s content.

Step 6: Test the Contact Form

Before deploying your Jekyll website, it’s crucial to test the contact form to ensure everything is working as expected. Fill out the form fields with test data and submit the form. Verify that you receive the submission notification or confirmation from your form service. If any issues arise, double-check your configuration and make necessary adjustments.

Step 7: Deploy and Monitor

Once you have confirmed that your contact form is working correctly, it’s time to deploy your Jekyll website. Whether you deploy to a traditional web server or a static hosting platform like GitHub Pages, ensure that your deployed website has access to the necessary APIs or services required for form submissions. Monitor your form submissions regularly to stay on top of incoming messages.


Adding a contact form to your Jekyll website doesn’t have to be a complex task. By following these steps, you can easily incorporate a functional and developer-friendly contact form into your Jekyll project. Remember to choose a reliable form service, test your form thoroughly, and monitor incoming submissions regularly. Now, you can provide your visitors with a seamless way to get in touch with you while maintaining your development workflow.