How it works

Drop a page. Get a link.

Everything you need to know, no technical knowledge required. Most things take a single click.

01 Publish a page

There are two ways to get content onto yapp.page. Both end with a shareable URL within a couple of seconds.

Drop a file

From yapp.page, drag a .html, .zip, or .pdf file into the drop area, or click to browse. Click Publish. You get back a shareable link.

Paste code

On the homepage Upload card, click or paste code →. Paste any HTML you've been given by ChatGPT, Claude, or anywhere else. Click Publish.

i
Multi-file site? Zip the folder. Make sure the entry file is named index.html at the root of the ZIP.

02 Multi-file & images

Need images, CSS, or JS alongside your HTML? Three paths, pick whichever fits your tools.

Drop multiple files at once

From yapp.page, select your index.html plus any images / CSS / JS files and drag them into the drop zone together. yapp.page bundles them into a ZIP in your browser, preserves the layout, and serves the page. Relative paths in your HTML (<img src="logo.png">) work as written.

Drop a whole folder

Drag a folder (e.g. my-site/ containing index.html and an images/ subfolder) directly into the drop zone. The folder structure is preserved, so <img src="images/hero.jpg"> in your HTML resolves correctly.

i
Where does the index go? The bundle must contain a file named index.html. It can be at the root or inside a single wrapper folder, both work.

Single image (no HTML needed)

Drop a single .jpg, .png, .gif, .webp, .svg, or .avif. yapp.page generates a clean viewer page automatically, just like for PDFs. Useful for quickly sharing a screenshot or photo with a download button.

Use with AI

Connect Claude or ChatGPT and just ask, e.g. "publish a portfolio page with this photo on yapp". It bundles the images with the page for you, no upload needed. Set it up →

Developers: REST API

Prefer to script it? The same publish, list, update, and delete actions are available over plain HTTP with a token. See the REST API →

i
Already have a ZIP? The classic path still works: drop the .zip file as a single upload. Whatever's inside the ZIP becomes your page.

03 Custom URL

By default you get a random link like dz0XAmqH.yapp.page. You can choose a memorable name instead.

1

Select your file or paste code

The More options drawer becomes visible.

2

Fill in "Link name"

Type something like german-quiz, my-cv, or portfolio-2026. A green check means it's available.

3

Publish

Your URL is german-quiz.yapp.page instead of a random ID.

i
Rename later: My pages ContactManage → enter a new slug → Save URL slug. The old URL stops working immediately.

Rules

3-30 characters, lowercase letters, numbers, and hyphens only. Examples: my-site, quiz, john-cv-2026.

i
Want your own domain? On the paid plans you can point a domain like www.yoursite.com at a page. See Your own domain for the step-by-step guide.

04 Your own domain

On the paid plans you can serve a page at a domain you own, like example.com, instead of slug.yapp.page. This guide works with any registrar (GoDaddy, Namecheap, Porkbun, Cloudflare, IONOS, Google Domains, and every other one). The screens look different, the steps are the same.

First, the two words you need

Registrar is the company you bought the domain from. You log in there to change anything about it.

DNS is the domain's address book. It tells the internet where to send visitors who type your domain. Every registrar gives you a page to edit it. It is usually called DNS, DNS settings, DNS records, Manage DNS, Advanced DNS, or Nameservers. If you cannot find it, search your registrar's help for "change nameservers" or "add DNS record".

Start in yapp.page

  1. Open My pages, click Manage on the page, and scroll to Custom domain.
  2. Click Add a custom domain, type your domain, and pick a setup mode (explained below).
  3. Click Continue. yapp.page shows you exactly what to enter at your registrar. Keep that window open, or come back to it later from the same Manage panel.

Which mode should I pick?

Easy (change nameservers) is the right choice for almost everyone. You change one setting at your registrar and yapp.page takes over the address book for the domain: DNS, the security certificate, and the www redirect are all handled for you. Your page loads at example.com and www.example.com.

Advanced (add DNS records) is for a domain that already does other things, most often email. You keep your current DNS host and add a few records by hand. Your page loads at www.example.com, and the bare domain redirects there.

i
Using this domain for email? Easy mode copies most existing records over, but check your mailbox still works after activation. If email on this domain is critical, choose Advanced mode. It never touches your existing records.

Easy mode, step by step

yapp.page gives you two nameserver addresses. They look like ada.ns.cloudflare.com and bob.ns.cloudflare.com.

  1. Log in at your registrar and open the domain.
  2. Find the Nameservers setting. It is often under DNS, Domain settings, or Advanced. Many registrars show a choice such as "Default" or "Custom": pick Custom.
  3. Delete the nameservers already listed and enter the two from yapp.page, one per field. Copy them exactly, no https://, no trailing dot needed.
  4. Save. Some registrars ask you to confirm by email.
  5. Back in yapp.page, the domain shows Awaiting nameservers. Click Check now whenever you like; yapp.page also checks on its own every few minutes.

Nameserver changes take anywhere from a few minutes to a few hours to spread across the internet, occasionally up to a day. Once they are seen, yapp.page creates the records and requests the certificate. The status moves to Active and your page is live at your domain.

Advanced mode, step by step

yapp.page shows a small table of records. Each row has a type (CNAME, A, or TXT), a name (also called host), and a value (also called target, points to, or content).

  1. Log in at your registrar and open the domain's DNS records page.
  2. For each row in the yapp.page table, click Add record and fill in the type, name, and value exactly as shown. Leave TTL at its default.
  3. If a record with the same type and name already exists (for example an old A record for @, or a parking page CNAME for www), edit it to the new value instead of adding a duplicate.
  4. Save. Back in yapp.page, click Check now. Records are usually detected within a few minutes.

Two things registrars do differently, so you know what to expect:

  • The name field. When yapp.page says name www, type just www. When it says @, that means the bare domain: type @, or leave the field empty if your registrar does not accept @. Never type the full domain there unless the form explicitly asks for it (some registrars add .example.com for you and would end up with www.example.com.example.com).
  • Cloudflare users. If your DNS lives at Cloudflare, set the orange cloud (proxy) to DNS only on the records you add for yapp.page. A proxied record hides the real target and the certificate cannot be issued.

What the status badges mean

  • Awaiting nameservers, Pending DNS, or Awaiting DNS validation: yapp.page has not seen your change yet. Double-check what you saved, then give it time.
  • Issuing cert or Deploying cert: DNS is correct and the HTTPS certificate is on its way. Usually minutes.
  • Active: done. Open your domain in a browser.
  • Cert failed or Failed: something in DNS blocks the certificate, most often a proxied record or DNSSEC. Fix it and click Check now, or write to us.

If it is not working after a day

  • Open the domain's DNS page at your registrar again and compare it character by character with what yapp.page shows. A missing letter in a nameserver is the most common cause.
  • Check that you saved. Some registrars have a separate Save or Apply button at the bottom of the page.
  • Look for a "domain lock", "DNSSEC", or "premium DNS" setting. DNSSEC in particular must be turned off at the registrar before changing nameservers, or the domain stops resolving.
  • Still stuck? Write to us with the domain name and which mode you chose. We are happy to look at it together, and we can also do the setup with you.
i
Don't have a domain yet? Buy one at any registrar (Cloudflare and Porkbun are usually cheapest, around 10 EUR a year for a .com), then come back and follow the Easy mode steps.

05 Password protection

Lock a page so only people with the password can view it. Useful for client previews or unfinished work.

In the More options drawer, type any password into the Password field. Share the link, share the password, that's it. Once someone enters the correct password they can view the page for 7 days without re-entering it. You can also set or change the password later: open Manage on the page and use the Password field there. Password protection is included in the paid plans and the page pass.

i
Embedding a protected page in SharePoint, Notion, or Teams? Inside another site's frame the unlock cookie is blocked, so the plain link keeps asking for the password. Generate an Embed link instead: My pages, then Manage, then Embed link. That URL renders inside the frame without prompting, while the plain link still requires the password. Regenerating the link cuts off every embed that used the old one. Step-by-step guides: SharePoint and Microsoft Teams.

06 Expiry

Choose how long the page stays online. When it expires, the link stops working and the page is deleted automatically.

  • 7 days: for quick demos or one-off shares.
  • 30 days: the default; good for most uses.
  • 90 days: for longer-term sharing.
  • Forever: stays online until you delete it.
i
Change expiry later: My pagesManage → pick a new expiry → Save expiry. You can extend or shorten at any time.

07 Edit after publishing

You can change a published page without re-uploading. Two ways.

Edit the code in your browser

Click Edit from the success card or from My pages. A code editor opens with your page's HTML. Press ⌘S to save; the live page updates instantly.

Replace the whole file

Got a new version? In Manage, drop a new file in Replace file. The URL stays the same; only the content changes.

08 Form messages

If your page has a contact form, yapp.page captures submissions for you, no backend, no email setup.

Nothing to set up

Put a plain <form> in your HTML. No action, no service to sign up for, no API key. Give every field a name, because that name is the label you will see on the message.

<form> <input name="name" placeholder="Your name"> <input type="email" name="email"> <textarea name="message"></textarea> <button>Send</button> </form>
!
An id is not a name. <input id="email"> sends nothing when the form is submitted, so the message arrives empty and is discarded. It has to be <input name="email">. This is the most common reason a form looks fine and collects nothing, and the first thing to check when an AI wrote the HTML for you.

When someone submits it, the form is replaced with a "Thank you" confirmation and the message lands in My pages → Messages. You can read, export (CSV or JSON) and delete messages there.

How many messages you get

Each page stores up to 10 messages on the Free plan, 100 on Starter, 500 on Pro, and unlimited on Team. It is a rolling window, so nothing ever gets turned away: once a page is full, each new message deletes the oldest one to make room. Your dashboard says so on any page that has filled up, and you can export everything as CSV or JSON at any time.

Get them by email

On the paid plans, and on a page with a page pass, every message is also emailed to you as it arrives, so you can reply straight from your inbox without opening the dashboard. Reply goes to the sender when the form asked for an email address. Very busy pages are capped at ten emails an hour, and the rest wait for you in Messages. You can switch this off under Settings, Notifications.

Test it before you share the link

Open your published page, submit the form yourself, then check Messages. It takes ten seconds and it is the only way to be sure your fields are named the way you want.

Send somewhere else instead

If you already have your own backend or a form service, give the form an action pointing at a different domain and yapp.page stays out of the way completely. Those submissions go straight to you and nothing is stored here.

<form method="post" action="https://api.example.com/leads"> <input name="email"> <button>Send</button> </form>

Turn capture off entirely

If your form talks to your own backend with JavaScript, yapp.page still keeps its own copy of what people send. To stop that, open Messages for the page and switch off Save messages here. Nothing further is saved and the page's form address refuses posts. Messages already saved stay until you delete them.

Good to know

  • If your own JavaScript handles the submit event, write it so it does not hide the form on its own. yapp.page needs the form visible to show whether the message actually went through.
  • File uploads are not captured. Text fields, selects, checkboxes and radios are.
  • A single message can be up to 16 KB.
  • Messages belong to you, not to us. You can set an automatic deletion window per page in Messages, which is worth doing if visitors send you personal details.

09 Host a PDF

Upload a PDF and get a clean shareable link with a built-in viewer, useful for CVs, menus, brochures.

Drag a .pdf file into the drop area on the home page. That's it. Visitors get a clean reader; you get a URL like my-cv.yapp.page.

10 Manage your pages

Open My pages to see everything you've published.

Each row has four actions:

  • Stats: daily views and referrers.
  • Edit: open the code editor (⌘S saves).
  • Messages: see form submissions if your page has a form.
  • Manage: rename URL, change expiry, replace file, get edit code.

11 Sharing

Share a link on WhatsApp, Telegram, Twitter, or Slack and a preview card appears with your page's own title and description, not yapp.page branding.

Where the preview comes from

Title: your page's <title> tag. Description: a <meta name="description"> tag, or the first paragraph if there isn't one.

QR code

Every page gets a QR automatically. Find it on the success card or in My pages.

!
WhatsApp shows the wrong preview? WhatsApp aggressively caches link previews. Share the link in a new chat (not the same conversation) to force a fresh fetch.

12 Quick answers

Is yapp.page free?

Yes. You can publish a page for free with no signup. Anonymous pages have a short expiry; signing in (free) keeps pages for 30 days, and paid plans extend or remove the expiry.

What file types can I host on yapp.page?

HTML files, multi-file ZIP archives (the ZIP must contain an index.html), PDFs, and images. Drop the file and you get a live shareable URL in about two seconds.

How long do published pages stay online?

Anonymous pages expire quickly. Signed-in free pages last 30 days. Paid plans offer 7, 30, or 90 days, or never-expire. A one-time page pass keeps a single page online for a year. See Expiry.

Can I password-protect a page or use a custom URL?

Yes. You can set a page password and choose a custom slug when you publish. Custom domains are available on the paid plans. See Custom URL, Your own domain, and Password protection.

Can I edit a page after publishing?

Yes. Each page has an edit code (and is tied to your account when signed in) so you can update its content while keeping the same URL. See Edit after publishing.

13 Still stuck?

Email [email protected] and describe what happened. Include your page link if it concerns a specific page.

Email support is included with every paid plan: replies within 1 business day, priority handling on Team. On the free plan we answer as capacity allows.