Contact forms

A contact form that emails you.

Paste a plain HTML form into your page and publish it. Every message lands in your dashboard, and on Pro and Team a copy arrives in your inbox, ready to reply to. There is no server to run, no PHP to write, and no form service to sign up for.

Your visitor fills in the form on your page yapp.page receives and stores the message the backend you never have to build You read it in your dashboard, or by email on Pro Your visitor fills in the form on your page yapp.page receives and stores the message the backend you never have to build You read it in your dashboard, or by email on Pro
You write the HTML. Everything that happens after someone hits Send is handled for you.

01 Put a form in your page

An ordinary <form> is all it takes. No action, no JavaScript, no API key. Give each field a name, because that name becomes its label on your messages.

<form> <label>Your name</label> <input name="name"> <label>Email</label> <input name="email" type="email"> <label>Message</label> <textarea name="message"></textarea> <button>Send</button> </form>
A contact form on a published page, with name, email and message fields and a Send button
That snippet, with a little styling of your own.
i
Never written HTML? You do not have to. Ask ChatGPT or Claude: "Add a contact form to my page with name, email and message fields and a Send button. Use a plain HTML form with no action attribute." Then publish the file it gives you.

02 Publish the page

Drop the HTML file on the homepage, paste the code, or ask an AI assistant to publish it for you. You get a live link in about two seconds. The form works from the first visitor onwards, with nothing else to configure.

03 Read what people send

When somebody fills in the form, they see a confirmation in place of it, and the message lands in your dashboard under Messages.

The confirmation a visitor sees after sending the form
What the visitor sees. They stay on your page.
The Messages screen listing a submission with its fields
What you see. Every field, newest first, with export and delete.

04 Or get them by email

On Pro and Team every message is emailed to you as it arrives, so you can answer from your inbox and never open the dashboard at all. Hit reply and your answer goes straight to the visitor, as long as the form asked for their email.

The email you receive: the page name and every field the visitor filled in
The email, with every field the visitor filled in.

Busy pages are capped at ten emails an hour and the rest wait in the dashboard, so a spam run cannot flood your inbox. You can switch the emails off in Settings at any time.

05 How it works

  • Publish the page and the form works. There is nothing to connect and no key to paste.
  • Each message is kept with the page it came from and waits for you under My pages, newest first.
  • We keep what the person typed and nothing else. No IP address, nothing about their device.
  • Already have somewhere to send the form? Give it your own action and we stay out of the way.

06 What you get

The limit is a rolling window: when a page is full the oldest message makes way for the new one, so nobody writing to you is ever turned away. You can export everything as CSV or JSON, delete individual messages, set an automatic deletion window, or switch capture off for a page completely.

See the plans or read the full form documentation.

07 Quick answers

Can I have a contact form without a backend?

Yes. Any <form> in a page you publish here is captured for you. You write plain HTML, publish it, and the messages appear in your dashboard. Nothing to run, nothing to host.

How do I send an HTML form to my email without PHP?

Publish the page here and turn nothing on. The old way was a PHP script calling mail() on a server you had to keep alive. Here the message is stored the moment it arrives, and on Pro and Team a copy is emailed to you, with reply going back to whoever wrote.

Does this work on a static site?

That is the whole point. A static page has no server to receive a submission, which is why people normally reach for a form service. Here the hosting does it.

Do I need an action attribute or JavaScript?

No. Leave the form as it is and give each field a name. If you do point the form at your own backend with an action, we stay out of the way.

How many messages can I receive?

Ten per page on Free, 500 on Pro, unlimited on Team. The limit is a rolling window, so a full page keeps accepting and drops its oldest message instead of turning anyone away.

Will my visitors have to sign up for anything?

No. They fill in the form and press Send, exactly as they expect.

What about spam?

Submissions are rate limited per visitor, and anything that looks like a card number or a password is removed before it is stored. If a form starts attracting junk, switch capture off for that page in one click.

What happens to the data people send me?

Only the fields are kept. No IP address and nothing about the visitor's device is stored next to them. Export everything as CSV or JSON, delete any message, or set a window after which messages delete themselves.

Can I move away later?

Yes. Export every message as CSV or JSON at any time, and point the form at your own backend whenever you have one.

Publish a page with a form now. No account needed to try it.

Create a page