← All templates
Event / RSVP
Event RSVP
Collect attendee names, dietary requirements, and plus-one info.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>RSVP</title>
<style>
body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; background: #fdf6e3; color: #1c1917; }
.wrap { max-width: 520px; margin: 48px auto; padding: 0 16px; }
.header { text-align: center; margin-bottom: 28px; }
.header .date { font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; color: #a16207; margin-bottom: 8px; }
.header h1 { font-size: 34px; margin: 0; font-weight: 600; letter-spacing: -0.02em; }
.header p { color: #57534e; margin: 6px 0 0; }
form { background: #fff; padding: 30px; border-radius: 14px; border: 1px solid #e7e5e4; }
label { display: block; font-size: 13px; font-weight: 600; color: #44403c; margin: 14px 0 6px; }
label:first-of-type { margin-top: 0; }
input, select, textarea { width: 100%; padding: 10px 12px; font-size: 14px; border: 1px solid #d6d3d1; border-radius: 8px; box-sizing: border-box; font-family: inherit; background: #fff; }
input:focus, select:focus, textarea:focus { outline: none; border-color: #a16207; box-shadow: 0 0 0 3px rgba(161,98,7,.15); }
.choice-group { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 6px; }
.choice-group label { display: flex; align-items: center; padding: 10px 12px; border: 1px solid #d6d3d1; border-radius: 8px; margin: 0; cursor: pointer; font-weight: 500; font-size: 14px; }
.choice-group input[type=radio] { width: auto; margin-right: 8px; }
textarea { min-height: 80px; resize: vertical; }
button { margin-top: 22px; width: 100%; padding: 12px; background: #a16207; color: #fff; border: 0; border-radius: 8px; font-size: 14px; font-weight: 600; cursor: pointer; letter-spacing: 0.02em; }
button:hover { background: #854d0e; }
</style>
</head>
<body>
<div class="wrap">
<div class="header">
<div class="date">Saturday · June 14, 2026</div>
<h1>Amelia & Jordan</h1>
<p>The Old Mill · 6:00 pm</p>
</div>
<form action="https://formserve.io/f/your-endpoint-key" method="POST">
<label for="name">Your name</label>
<input id="name" name="name" type="text" required>
<label for="email">Email</label>
<input id="email" name="email" type="email" required>
<label>Will you attend?</label>
<div class="choice-group">
<label><input type="radio" name="attending" value="yes" required> Joyfully accept</label>
<label><input type="radio" name="attending" value="no"> Regretfully decline</label>
</div>
<label>Plus-one?</label>
<div class="choice-group">
<label><input type="radio" name="plus_one" value="yes"> Yes</label>
<label><input type="radio" name="plus_one" value="no" checked> No</label>
</div>
<label for="dietary">Dietary requirements</label>
<select id="dietary" name="dietary">
<option value="none">None</option>
<option>Vegetarian</option>
<option>Vegan</option>
<option>Gluten-free</option>
<option>Other (note below)</option>
</select>
<label for="notes">Notes for the hosts</label>
<textarea id="notes" name="notes" placeholder="Allergies, accessibility, song requests…"></textarea>
<button type="submit">Send RSVP</button>
</form>
</div>
</body>
</html>
Make it yours
- Copy the HTML above and paste it into your page.
-
Replace
your-endpoint-keyin theactionattribute with the endpoint key from your Formserve dashboard. - Style it to match your site — every class is yours to override.
Don't have a Formserve account yet? Create one free.