Guide • Simplify your workflow

Guides and references for
every feature.

Browse our collection of clear, ready-to-use documentation. Explore clear, practical guides with ready-to-use examples so you can implement, customize, and launch in minutes.

Quick Start

Get a working contact form in under 2 minutes. No backend code needed — just HTML.

Step 1

Create a free account

Sign up at 000form.com

Step 2

Create a form

create form & copy your unique endpoint.

Step 3

Point your form to it

Set your HTML form's action to your endpoint URL and method to POST.

Step 4

You're done!

Every submission goes straight to your email and shows up in your dashboard.

Not ready to sign up yet? Try the Playground — test everything right now with no account needed.

Basic HTML Form

The simplest setup — just point your form's action to your endpoint URL and you're ready to go.

HTML
<form action="https://000form.com/f/YOUR_FORM_ID" method="POST">

  <input type="text"  name="name"    placeholder="Your name"    required>
  <input type="email" name="email"   placeholder="Your email"   required>
  <textarea           name="message" placeholder="Your message"></textarea>

  <button type="submit">Send</button>

</form>
Name your email field email and we'll automatically set it as the reply-to address — so you can reply directly to the person from your inbox.
Special Fields
Add these as hidden inputs to your form to turn on extra features. All of them are optional — only use the ones you need.

_subject Optional

Set a custom subject line on the email you receive. If you don't add this, the subject will be New Form Submission from 000form.

HTML
<input type="hidden" name="_subject" value="New contact from website">

_replyto Optional

Name your email field email and we'll automatically set it as the reply-to address — so you can reply directly to the person from your inbox.

HTML
<input type="email" name="email" placeholder="Your email">

_cc Optional

Send a copy of the notification email to one or more extra addresses.

HTML
<!-- One address -->
<input type="hidden" name="_cc" value="team@yourcompany.com">

<!-- Multiple addresses — separate with commas -->
<input type="hidden" name="_cc" value="sales@co.com, support@co.com">

_template 3 options

Choose how your notification email looks. Default is basic.

ValueWhat it looks like
basicSimple list — one field per row.Used by default.
boxEach field gets its own bordered box. Images show as previews.
tableTwo-column table — field name on left, value on right.
HTML
<input type="hidden" name="_template" value="basic">   <!-- default -->
<input type="hidden" name="_template" value="box">
<input type="hidden" name="_template" value="table">

_auto-response Optional

Send an automatic reply to the person who filled in your form.

HTML
<input type="hidden" name="_auto-response"
       value="Thanks for getting in touch! We'll get back to you shortly.">
If a submission gets blocked by _blacklist, the auto-response is still sent.

_blacklist Spam filter

Block submissions that contain certain words.

HTML
<input type="hidden" name="_blacklist"
       value="buy now, click here, casino, free money">
Features

Spam Protection 2 Methods

Protect your forms from spam using honeypot traps or built-in CAPTCHA verification.

Method 1: Honeypot Trap

Add a hidden field that spam bots fill in automatically. Real users never see it, so only bots trigger it.

HTML
<!-- Hidden honeypot field — bots fill it, humans don't -->
<input type="text" name="_gotcha"
       style="display:none;" tabindex="-1" autocomplete="off">

Method 2: CAPTCHA Protection

Enable our built-in CAPTCHA to block automated submissions. Simply add this hidden field to your form.

HTML
<!-- Enable CAPTCHA protection — requires user verification -->
<input type="hidden" name="_captcha" value="true">            
When _captcha is enabled, the CAPTCHA widget appears automatically. Users must complete it before the form can be submitted. The submission is only processed after successful verification.

File Uploads

Let people attach files when they submit.

HTML
<form enctype="multipart/form-data">
  <input type="file" name="uploads[]" multiple>
</form>
汽 etxek etxek
LimitValue
Per file10 MB max
Per submissionUp to 5 files

AJAX / JavaScript

Submit the form without reloading the page.

JavaScript
const form = document.getElementById('contact-form');

form.addEventListener('submit', async (e) => {
  e.preventDefault();
  
  const res = await fetch(form.action, {
    method: 'POST',
    body: new FormData(form),
    headers: { 'Accept': 'application/json' }
  });
  
  const data = await res.json();
  
  if (data.success) {
    // Success!
  }
});
Add Accept: application/json header to get JSON response.

Ready to get started?

Try Express