product · link in bio · response desk

One link that holds everything you share.

Put your links, socials, a contact form, and a QR code on a single branded page - and see which ones people actually tap.

·· links, socials, embeds, images·· inline hosted contact form·· theme presets + custom colors·· branded domain support
01 / capabilities

Built for the things email can't do.

Email is fine for alerts. It's lousy for ownership, retention, file handling, and audit trails.

01 · every

Every link in one place

Stack links, headers, text, social icons, embeds, images, and a hosted contact form, in the order you choose.

02 · a

A page that looks like you

Start from a preset, then set background, surface, accent, type, and button shape so the page matches your brand.

03 · your

Your own domain

Serve the page from a verified branded domain instead of a generic profile host on paid plans.

04 · a

A QR code for everything offline

Every published page has a downloadable QR code in SVG, PNG, or WebP for packaging, signage, cards, and slides.

05 · taps

Taps you can read

See views and per-block clicks so you know which link earns attention, without a third-party tracker in the page.

06 · reuse

Reuse what you already track

Point a button at an existing short link and its taps roll into that link's click history.

02 / how it works

Three steps, no glue code.

·· step 01Claim a handle

Pick a short, readable handle and write the name, headline, and bio that sit at the top.

·· step 02Add your blocks

Drop in links, socials, an embed, and a contact form, reorder them, and pick a theme while a live preview keeps up.

·· step 03Publish and share

Publish the page, drop the URL in your profiles, and print the QR code where a link cannot go.

03 / for developers

Snippets ship for eleven frameworks.

HTML, React, Vue, Next.js, Astro, SvelteKit, Nuxt, vanilla JS, Python (requests), PHP (curl), Ruby (Net::HTTP).

·· HTML·· React·· Vue·· Next·· Astro·· Svelte·· Nuxt·· Python·· PHP·· Ruby·· curl
// React
async function handleSubmit(e) {
  e.preventDefault();
  const data = new FormData(e.target);
  await fetch("https://formspring.io/f/abc123", {
    method: "POST",
    headers: { Accept: "application/json" },
    body: data
  });
}

// Receive the signed webhook
const sig = req.headers["x-formspring-signature"];
const ok = timingSafeEqual(
  hmacSha256(secret, rawBody),
  sig
);
04 / questions

About Bio Pages.

What is a Formspring Bio Page?
A single hosted profile at one short handle that lists your links, social profiles, embeds, images, and a real contact form. It is the one URL you share when you only get to share one - in a social profile, an email signature, or on a printed QR code.
Is there a free Bio Page?
Yes. Every plan includes Bio Pages; the Free plan includes one published page, and paid plans remove the limit and add branded domains.
Can I use my own domain?
On paid plans you can serve a Bio Page from a verified branded domain - the same domain you use for short links - so the page, its canonical URL, and its QR code all use your host.
Do I get a QR code?
Yes. Every published page has a downloadable QR code in SVG, PNG, or WebP that always points at the page's current URL, so it keeps working if you move the page to your own domain.
Are Bio Page analytics privacy-friendly?
Yes. Views and per-block clicks are measured first-party, visitors are counted from a hashed signal rather than a raw IP, bot traffic is excluded, and there is no third-party tracker in the page.

Start with one bio page. Scale when it earns it.

Free plan covers a personal site or a small intake flow. Upgrade when you cross 50 submissions a month.