splitforms.com

HTML · FORM CONTROL

HTML Label — connect text to a form control (live demo)

A <label> connects a text caption to a form control. Linked with the for attribute (matching the control's id), it makes the field clickable, accessible to screen readers, and easier to tap on mobile. Below is a working form where every field has a proper label.

  • 500 free / mo
  • No backend
  • Copy-paste ready
HTML Label — copy-paste HTML form code that actually submits

Copy-paste ready

The HTML Label example below is a complete, working form — paste it into any HTML page and it submits, no edits to the markup required.

No backend to build

Your html label form posts to one endpoint. No server, PHP, or API route — submissions land in your inbox and a searchable dashboard.

A form that really submits

Unlike a static reference snippet, this <label> form actually sends data to a free splitforms backend, with spam filtering built in.

Copy-paste code

HTML Label code you can paste today.

Replace YOUR_ACCESS_KEY with a key from your free splitforms dashboard. The form posts to one endpoint — submissions land in your inbox and dashboard with spam filtering built in.

Get free access key
label.html
<form action="https://splitforms.com/api/submit" method="POST">
  <input type="hidden" name="access_key" value="YOUR_ACCESS_KEY">

  <!-- Explicit label: for matches the input's id -->
  <label for="name">Full name</label>
  <input type="text" id="name" name="name" required>

  <!-- Implicit label: the control is wrapped inside the label -->
  <label>
    Email
    <input type="email" name="email" required>
  </label>

  <input type="checkbox" name="botcheck" style="display:none">
  <button type="submit">Send</button>
</form>

How it works

How to add HTML Label to any page.

Copy the html label example, drop in your free access key, and paste it into any page — submissions start landing in your dashboard.

Copy the code

Copy the HTML Label example below.

Add your access key

Replace YOUR_ACCESS_KEY with a free splitforms key from the dashboard.

Paste into your site

Drop the form into any HTML page. Submissions arrive in your dashboard.

The <label> element

Which HTML Label attributes matter?

The <label> element takes a handful of attributes — these decide how your form behaves and what actually gets emailed to your inbox when someone submits.

  • for — The id of the control this label belongs to. Clicking the label focuses/activates that control.
  • form — The id of a <form> elsewhere on the page, if the label is not nested inside one.
HTML Label attributes reference

Common mistakes

HTML Label not working? Here's why.

Most broken forms come down to a few small mistakes with the <label> element. Check these before you ship — then forward every submission to Slack or a webhook.

  • for must match an id, not a name — The for attribute references the control's id. People often point it at name= by mistake, which silently breaks the association.
  • One label per control — A control should have exactly one label. Multiple labels confuse assistive tech and which one "wins" is inconsistent.
  • Placeholder is not a label — Placeholder text vanishes on focus and is invisible to many screen readers. Always add a real <label>; keep placeholders as short hints.
Common html label mistakes to avoid

How SplitForms works

From form to workflow in 3 simple steps.

Connect your form, collect every submission, and send data where it needs to go — without building backend infrastructure.

A SplitForms contact form submission launching straight to your inbox

Add your endpoint

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

HTML form pointing at a SplitForms submit endpoint

Receive submissions

We instantly capture and organize every submission in your inbox.

Submissions inbox with searchable leads and status pills

Route anywhere

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

Generic integration tiles for email, sheets, chat, CRM, automate, and webhook

No credit card required. Set up in under 60 seconds.

Connect & automate

Connect your favorite tools and automate everything

SplitForms works with the destinations you route to and the platforms you build on — from Slack and Sheets to WordPress, Shopify, and Next.js.

Connect your SplitForms form to Slack, Google Sheets, Mailchimp, Zapier and more

Trusted by indie teams and agencies shipping forms worldwide

PETAL/COKRAFT.DELINEAR-XBUILD.DEVSTUDIO 71MERIDIANFRAME&CO

Testimonials

Loved by developers shipping at every scale.

40 quotes on record — from indie hacks to agency migrations.

Questions

HTML Label questions, answered.

View all FAQs
What is the HTML label tag?

The <label> element adds a human-readable caption to a form control. When its for attribute matches a control's id (or the control is nested inside it), clicking the label focuses the field — improving usability and accessibility.

How does the label for attribute work?

for holds the id of the control the label describes. <label for="email">Email</label> paired with <input id="email"> links them, so clicking "Email" focuses the input and screen readers announce the field as "Email".

Should I wrap the input in the label or use for?

Both work. Wrapping (<label>Email <input></label>) is an implicit label; <label for="email">…</label> is explicit. Explicit labels with for are the most reliable across assistive technologies.

Why is my label not working?

Almost always because the for attribute doesn't match the control's id (people match name= instead), the id is duplicated on the page, or the label sits outside the form. Check that for and id are identical and unique.

Are labels required for accessibility?

Yes — every interactive form control should have a programmatically associated label. It's a WCAG requirement and the single biggest factor in whether a form is usable with a screen reader.

Simple pricing

Start free. Scale when you need more.

Choose a plan that fits your workflow — from a free form endpoint to full automations, exports, and higher submission limits.

Free

$0

Free forever

 
Best for testing

For side projects and indie devs.

  • 500 submissions / mo
  • Unlimited forms
  • Email notifications included
  • Honeypot spam filtering
  • Submissions dashboard
  • MCP setup stays free
  • No credit card required

3-Year

$59/ 36 months
was $99 · save 40% · new-user price

Pay $59. 3 years sorted.

  • 15,000 submissions / mo
  • Unlimited forms
  • Everything in Pro
  • Renews every 3 years
  • Long-term discount
  • Priority support included
  • Vote on the roadmap

No credit card required on Free • Cancel anytime