Loading...

Free Contact Form and Verification Service

Send messages safely with one-time verification keys. 100% free, fast, and easy to integrate — no signup required.
HTML Form — How It Works
<form action="https://vericontact.xyz/api/contact-api/" >
  <input type="hidden" id="key" name="key" value="YOUR_ACCESS_KEY" >
                                
  <label for="name">Full Name</label>
  <input type="text" id="name" name="name" required>

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

  <label for="subject">Subject</label>
  <select id="subject" name="subject" required>
    <option value="" disabled selected>Select a subject</option>
    <option value="general">General Inquiry</option>
    <option value="support">Technical Support</option>
    <option value="billing">Billing Question</option>
    <option value="feedback">Feedback</option>
  </select>

  <label for="message">Message</label>
  <textarea id="message" name="message" rows="3" required></textarea>

  <button type="submit">Submit Form</button>
</form>
Domain-Restricted Keys
Stylish Email Templates
Built-in Success & Error Pages

Works Seamlessly with Any Technology

HTML5
CSS3
JavaScript
Bootstrap
React
Angular
Vue.js
Node.js
Python
PHP
WordPress
GitHub

Why People Choose Us

No Backend Code Required

Skip the hassle of setting up servers or PHP. Your forms just work — simple and code-free.

No Login or Dashboard

Forget about managing accounts. Authenticate once with your access key — no login required.

No Databases Needed

Form submissions are sent directly to your inbox. Nothing is stored on our servers.

GDPR & Privacy First

We only use your email for authentication. Your data is never shared or sold to third parties.

Custom Redirects

Choose any URL for success or error redirects. No forced lock-ins, full flexibility.

Minimal Email Branding

Clean, professional emails with minimal branding. Pro users unlock full customization.

Get started in 3 easy steps

How It Works

Free forever — no signup required.

1
Create Access Key

Generate a free one-time access key linked to your email. You can create up to 10 keys and even restrict them by domain for extra security.

Please enter a valid email address.
Key created and sent to your email.
2
Create Contact Form

Build your contact form using your favorite web technology. VeriContact supports both JSON requests and simple form-POST submissions.


<form action="https://vericontact.xyz/api/contact-api/" method="POST">

  <!-- Replace with your Access Key (Step 3) -->
  <input type="hidden" name="key" value="YOUR_ACCESS_KEY_HERE">

  <!-- Form Inputs (Step 2) -->
  <input type="text"   name="name"    placeholder="Your Name"  required>
  <input type="email"  name="email"   placeholder="you@example.com" required>
  <textarea name="message" placeholder="Write your message..." required></textarea>

  <!-- Honeypot Spam Protection -->
  <input type="checkbox" name="botcheck" class="hidden" style="display:none">

  <button type="submit">Submit Form</button>
</form>
            

// Step 1: Create/Load access key (replace generator with your API)
const ACCESS_KEY_STORAGE = "vericontact_access_key";

function getAccessKey() {
  let key = localStorage.getItem(ACCESS_KEY_STORAGE);
  if (!key) {
    // Mock generator (swap for a real fetch to your key endpoint)
    key = crypto.randomUUID();
    localStorage.setItem(ACCESS_KEY_STORAGE, key);
  }
  return key;
}

// Step 3: Inject key into a hidden input in your form
document.addEventListener("DOMContentLoaded", () => {
  const form = document.querySelector("form[action*='web3forms']");
  const keyInput = form?.querySelector("input[name='access_key']");
  if (form && keyInput) {
    keyInput.value = getAccessKey();
  }
});

// Optional: handle submit via fetch (instead of native POST)
async function submitContact(payload) {
  const res = await fetch("https://api.web3forms.com/submit", {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify(payload)
  });
  if (!res.ok) throw new Error("Submit failed");
  return await res.json();
}
            

import { useEffect, useState } from "react";

export default function ContactForm() {
  const [accessKey, setAccessKey] = useState("");

  useEffect(() => {
    const k = localStorage.getItem("vericontact_access_key") || crypto.randomUUID();
    localStorage.setItem("vericontact_access_key", k);
    setAccessKey(k);
  }, []);

  return (
    <form action="https://api.web3forms.com/submit" method="POST">
      <input type="hidden" name="access_key" value={accessKey} />

      <input name="name" type="text" placeholder="Your Name" required />
      <input name="email" type="email" placeholder="you@example.com" required />
      <textarea name="message" placeholder="Write your message..." required /></textarea>

      <input type="checkbox" name="botcheck" className="hidden" style='display:none' />

      <button type="submit">Submit Form</button>
    </form>
  );
}
            
3
Add Key in Form

Embed your access key in the form payload. This ensures that every submission is verified, secure, and delivered with built-in success or error handling.


<input type="hidden" name="key" value="YOUR_ACCESS_KEY_HERE" >
            
VeriContact Owner

Meet the Creator

Hi, I’m Umair Ashraf, the creator of VeriContact. I built this project to make contact forms secure, simple, and free for everyone. With VeriContact, there’s no need for backend code, logins, or complex setups — just a straightforward way to manage messages with one-time verification keys.

— Umair Ashraf

Founder of VeriContact

Frequently Asked Questions

Everything you need to know about using VeriContact.

No signup is required. VeriContact is completely free and ready to use instantly. Just generate your access key and add it to your form.

Each email address can generate up to 10 active access keys. You can delete old keys anytime if you need to create new ones.

Yes! You can either use VeriContact’s built-in pages or provide your own redirect URLs for custom success and error handling.

Absolutely. VeriContact is 100% free for all users — with no hidden costs, subscriptions, or limits on form submissions.