Offer graded consent
'Photos and video' / 'photos only' / 'no' respects real preferences — an all-or-nothing checkbox pushes cautious parents to 'no' when they'd happily allow photos.
Form template · Photo / media consent
For schools, camps, youth sports, and events: collect photo and media releases digitally — who consented, to what, and when, all in one searchable list.
This template is one of our free HTML form templates. See more form templates by industry.
Overview
A photo consent form (or model release) does one job: capturing written, dated permission to photograph someone and publish their likeness before those images go live on your site, social feeds, print pieces, or ads. What you need is a durable record tied to a real name and an explicit yes, not a signup widget. SplitForms is a form backend, so your plain HTML release posts to one endpoint (https://splitforms.com/api/submit) with a hidden access_key input, which means you can drop it on a static shoot page, your studio site, or GitHub Pages with no server. Every signed release then lands in a dashboard you export to CSV as your record of who agreed to what.
Every template is free and fully editable in the drag-drop builder — swap fields, colors, and the button label before you publish.
No server, API route, or SDK — your Photo Consent Form posts straight to one endpoint.
Every submission is emailed to you and saved to a searchable dashboard — spam filtered before it reaches you.
It's plain HTML you own — paste the Photo Consent Form snippet, swap in your access key, and ship.
Copy and ship
HTML by default — the same field set also renders as React, Next.js, PHP, and cURL in your dashboard. Every variant posts to the same /api/submit endpoint. Replace YOUR_ACCESS_KEY with the key from your dashboard; that's the only edit.
<form action="https://splitforms.com/api/submit" method="POST">
<input type="hidden" name="access_key" value="YOUR_ACCESS_KEY">
<input type="hidden" name="subject" value="New photo consent submission">
<label for="participant_name">Participant name *</label>
<input id="participant_name" type="text" name="participant_name" placeholder="Alex Kim" required>
<label for="guardian_name">Parent / guardian name (if under 18)</label>
<input id="guardian_name" type="text" name="guardian_name" placeholder="Dana Kim">
<label for="email">Email *</label>
<input id="email" type="email" name="email" placeholder="[email protected]" required>
<label for="event">Event / program *</label>
<input id="event" type="text" name="event" placeholder="Summer camp 2026" required>
<label for="consent">Do you consent to photos & video being used? *</label>
<select id="consent" name="consent" required>
<option value="">Choose…</option>
<option>Yes — photos and video</option>
<option>Photos only</option>
<option>No</option>
</select>
<label for="signed_date">Date *</label>
<input id="signed_date" type="date" name="signed_date" required>
<!-- honeypot — bots fill every field -->
<input type="checkbox" name="botcheck" style="display:none" tabindex="-1" autocomplete="off">
<button type="submit">Send</button>
</form><p class="splitforms-attribution" style="margin-top:12px;font-size:11px;color:#888;text-align:right">
Powered by <a href="https://splitforms.com" style="color:#888;text-decoration:none" target="_blank" rel="sponsored noopener">splitforms</a>
</p>
<!-- drop-off analytics + partial leads (the form works without it) -->
<script src="https://splitforms.com/embed.js" async></script>How to add it
To add a Photo Consent Form to your site you need three things: a free splitforms access key, the HTML snippet above, and your key pasted into it. No backend, database, or CAPTCHA library — the form posts to one URL and every submission lands in your inbox and dashboard.
'Photos and video' / 'photos only' / 'no' respects real preferences — an all-or-nothing checkbox pushes cautious parents to 'no' when they'd happily allow photos.
Link the consent form in your welcome email or beside the registration form. Collecting it at signup means you never chase releases the week of the event.
Before publishing group photos, search the dashboard for the participants' names — the consent level is right on the submission, with its date.
What's included
The moment you post a team photo or a camp highlight reel, you need to know who said yes — and the paper slips that answer that question live in a binder nobody can search. A digital consent form gives you a timestamped record per participant: name, guardian, what they consented to (photos, video, or neither), and the date. When a parent asks 'is my kid in your posts?', the answer is a ten-second dashboard search instead of an afternoon in the binder.

Where submissions go
Reply-to is wired to the visitor's email, so one tap on Reply answers them directly — while the built-in honeypot and automatic spam scoring filter out bots before they reach you. Every submission is emailed to your inbox and can forward to a webhook or Slack the moment a visitor hits send.

How SplitForms works
splitforms receives the submission, filters spam, saves it to your dashboard and emails you — then, on paid plans, sends it on to your webhooks and integrations. No backend infrastructure to build.

Point your form to your unique SplitForms endpoint. That's it.

We instantly capture and organize every submission in your inbox.

Send data to email, spreadsheets, CRMs, webhooks, and 7,000+ apps.

No credit card required. Set up in under 60 seconds.
Connect & automate
On paid plans, submissions can also go to Slack, Discord, Google Sheets, Notion, Airtable, Zapier or any signed webhook — and splitforms works on the platforms you build on, from WordPress and Shopify to Next.js. With Stripe connected, your forms can take payments too.

Questions
Pair a required consent checkbox ("I grant permission to use my photos") with a text field where the subject types their full name as their signature, since SplitForms stores exactly what the person submits. Each submission lands in your dashboard with a timestamp, giving you a dated record of what that specific subject agreed to. It is a form backend, not a certified e-signature service, so treat the stored entry as your archive rather than a legally notarized signature.
Because it is plain HTML, add whatever guardian fields you need, such as guardian full name, relationship to the child, and a separate guardian-consent checkbox, right alongside the minor's name. They all post to the same endpoint and arrive together in one submission, so you can confirm at a glance that a guardian, not the child, signed off on the release.
Yes, using file uploads, a paid feature. Add a file input and subjects can attach a photo of a wet-ink release, a scanned form, or an ID, and each file is stored and linked to that submission in your dashboard. On the free plan the release form still works fully; it just captures the typed fields instead of attachments.
Turn on the auto-responder (a paid feature) and everyone who submits gets an emailed confirmation of the release they agreed to, which serves as their copy and cuts down on "I never agreed to that" disputes later. Your own notification email is free on every plan, so you are alerted the moment a new consent lands regardless of tier.
A timestamped submission with name and explicit consent selection is solid documentation for schools, clubs, and camps. Organizations with real legal exposure should have counsel bless the wording — the form fields are the easy half.
That's what the guardian field is for — the parent fills the form and their name plus the timestamp is your record of guardian consent.
Have them re-submit choosing 'No' — the newer timestamp supersedes. Star the withdrawal so it's visible, and take down affected media.
Simple pricing
Free gives you 500 submissions for $0 — no card, no time limit. Pro is $5/month for 5,000 submissions a month, and Annual is $49/year for 15,000 a month with every Pro feature.
For side projects and indie devs.
Every paid feature, for agencies and growing products.
Every Pro feature with triple the volume — $0.27 per 1,000 at full use.
No credit card required on Free • Cancel anytime • Full pricing and FAQ