How to add contact form to Astro
What is Astro?
Modern component-based static site generator. Whether you're building a marketing site, documentation or blog, Astro handles the heavy lifting of converting your content into clean, performant HTML.
Why add contact form to your Astro site?
Adding a contact form lets visitors reach you without exposing your email to spam bots. A good contact form helps you get more messages because people are more likely to fill out a form than send an email. It filters spam automatically so junk stays out of your inbox. All messages land in one place instead of scattered across email threads.
Chirp Form gives you a simple solution that works perfectly with Astro's static architecture while respecting visitor privacy with EU hosting and GDPR compliance.
How Chirp Form works with Astro
The <chirp-form> element displays your contact form where visitors write and submit messages. Chirp Form handles everything behind the scenes. It stores submissions, filters spam and sends email notifications while your Astro site stays completely static. Submissions are identified through privacy-friendly cryptographic hashing rather than storing IP addresses or personal data directly.
Installation steps
Step 1: Add the Chirp Form script
Add the Chirp Form script to your Astro layout file. For most sites this goes in src/layouts/Layout.astro in the <head> section:
<head>
<!-- Your existing head content -->
<script defer src="https://embed.chirpform.com/latest/chirpform.umd.js"></script>
</head>
The defer attribute ensures the script loads without blocking your page content.
Step 2: Add to your contact page
Create a new file called src/pages/contact.astro:
---
import Layout from '../layouts/Layout.astro';
---
<Layout title="Contact">
<h1>Get in touch</h1>
<p>Have a question or want to work together? Send me a message.</p>
<chirp-form form-id="YOUR_FORM_ID"></chirp-form>
</Layout>
Replace YOUR_FORM_ID with your actual form ID from your Chirp Form dashboard.
Step 3: Configure your form (optional)
You can fully customize your form fields through your Chirp Form dashboard. The form automatically fetches your configuration and renders everything you've set up.
For styling, you can fully customize the appearance using standard CSS. Check the styling documentation for detailed customization options.