splitforms.com

HTML · FORM CONTROL

HTML Textarea — multi-line input with a live working form

The <textarea> element is a multi-line text input, used for messages, comments, and anything longer than a single line. Unlike <input>, it has opening and closing tags and a size set by rows and cols. Below is a working contact form with a message textarea that actually submits.

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

Copy-paste ready

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

Copy-paste code

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

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

  <label for="email">Email</label>
  <input type="email" id="email" name="email" required>

  <label for="message">Message</label>
  <textarea id="message" name="message" rows="5" cols="40"
            maxlength="1000" placeholder="Tell us what you need…"
            required></textarea>

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

How it works

How to add HTML Textarea to any page.

Copy the html textarea 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 Textarea 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 <textarea> element

Which HTML Textarea attributes matter?

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

  • rows — The visible height in text lines. Sets the default size; CSS height overrides it.
  • cols — The visible width in average characters. Prefer CSS width for real layouts.
  • maxlength — Maximum number of characters the user can type. Enforce length limits server-side too.
  • placeholder — A hint shown when the textarea is empty. Not a replacement for a <label>.
  • required — Boolean. Blocks submit if the textarea is empty.
  • wrap — soft (default) wraps visually but submits as one line; hard wraps and inserts line breaks.
  • resize — CSS property — none, vertical, horizontal, or both. Default lets the user drag the corner.
HTML Textarea attributes reference

Common mistakes

HTML Textarea not working? Here's why.

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

  • Default content goes between the tags — Unlike <input value="...">, a textarea's default text is written between <textarea> and </textarea>. Watch for leading whitespace — it shows up in the submitted value.
  • rows/cols are a fallback — They set a rough default size. For real layouts, control height and width with CSS so the field matches your design.
  • maxlength is client-only — A determined user can remove it in DevTools. Re-validate the length on the server before storing or forwarding the message.
Common html textarea 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 Textarea questions, answered.

View all FAQs
What is a textarea in HTML?

A <textarea> is a multi-line text input control. It lets users enter longer content like a message, comment, or description, and submits whatever was typed under its name= attribute when the form is posted.

What is the correct HTML for making a text area?

Use <textarea name="message" rows="5" cols="40"></textarea>. The rows and cols attributes set the default size, and the name= attribute is required for the value to be submitted.

How are textarea cols and rows measured?

rows is the visible height measured in lines of text. cols is the visible width measured in average character widths. Both are approximate — use CSS width and height for precise layouts.

How do I limit textarea length?

Add maxlength="1000" to cap the number of characters the user can type, then check the length again server-side since the attribute can be removed in the browser.

Should I use input or textarea?

Use <input type="text"> for a single line (name, email, subject) and <textarea> for anything that may span multiple lines (message, bio, feedback). Textarea resizes and wraps; a text input does not.

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