splitforms.com

HTML · FORM CONTROL

HTML Input — every input type with a live working form

The <input> element is the most used form control in HTML. Its type= attribute switches its behaviour — text, email, tel, number, date, file, checkbox, radio, and more. Each type gives you free browser validation and the right mobile keyboard. Below is a form using the most common input types that actually submits.

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

Copy-paste ready

The HTML Input 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 input 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 <input> form actually sends data to a free splitforms backend, with spam filtering built in.

Copy-paste code

HTML Input 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
input.html
<form action="https://splitforms.com/api/submit" method="POST">
  <input type="hidden" name="access_key" value="YOUR_ACCESS_KEY">

  <label for="name">Full name</label>
  <input type="text" id="name" name="name" required>

  <label for="email">Email</label>
  <input type="email" id="email" name="email" placeholder="you@example.com" required>

  <label for="phone">Phone</label>
  <input type="tel" id="phone" name="phone" placeholder="+1 555 000 0000">

  <label for="qty">Quantity</label>
  <input type="number" id="qty" name="quantity" min="1" value="1">

  <label for="when">Preferred date</label>
  <input type="date" id="when" name="preferred_date">

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

How it works

How to add HTML Input to any page.

Copy the html input 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 Input 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 <input> element

Which HTML Input attributes matter?

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

  • type — Sets the control: text, email, tel, number, date, file, checkbox, radio, password, hidden, submit, and more.
  • name — The key the value is submitted under. Without it, the field is not sent at all.
  • value — The initial value. For text fields it's the default text; for checkbox/radio it's what gets sent when checked.
  • placeholder — A short hint shown when the field is empty. It is not a substitute for a <label>.
  • required — Boolean. The browser blocks submit and shows a hint if the field is empty.
  • min / max / step — Constraints for number and date inputs. The browser validates against them.
  • pattern — A regex the value must match. Pair it with a title= explaining the required format.
  • autocomplete — Hints like "email", "tel", "given-name" that let browsers autofill correctly.
HTML Input attributes reference

Common mistakes

HTML Input not working? Here's why.

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

  • No name = no data — An input without name= is dropped from the submission. id only wires up <label for> and anchors.
  • type=email only checks format — It validates the shape (a@b.co) but not whether the address is real or deliverable. Validate deliverability server-side.
  • placeholder is not a label — Placeholders vanish on focus and hurt accessibility. Always include a real <label> linked with for=.
Common html input 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 Input questions, answered.

View all FAQs
What is the HTML input tag?

The <input> element is an HTML form control that lets users enter data. The type= attribute determines what kind of control it is — text, email, number, date, file, checkbox, radio, and others — each with built-in validation and an appropriate mobile keyboard.

What are the HTML input types?

Common types include text, email, password, tel, number, date, time, file, checkbox, radio, range, color, url, search, hidden, and submit. Each type changes how the field behaves, validates, and renders on mobile.

What is the use of the input tag?

The input tag collects a single value from the user — a name, an email, a number, a chosen file — and submits it under its name= attribute when the form is posted to the server or backend.

How do I allow file uploads in HTML?

Use <input type="file" name="resume">, add enctype="multipart/form-data" to the <form>, and post to a backend that accepts files (splitforms supports uploads on paid plans with storage connected).

Why is my input value not submitting?

Almost always because the input is missing a name= attribute, the field is disabled, or it sits outside the <form>. Check that name= is set and the control is inside the form element.

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