forward.domains
Forward
Redirect it, park it, or sell it. Every domain you own, over HTTPS.
Some registrar forwarders stop at http://. Forward gives every domain a certificate and a job: send visitors where they meant to go, or show a calm page that parks it, sells it, or points to everything else you own.
npm install -g @forward-domains/clinpm i -g @forward-domains/cliKeep your registrar and your email. Verify ownership, then point DNS.
newproduct.dev
newproduct ↗
Pricing
301 · path and query kept · certificate issued for you
Why Forward
Forwarding should work beyond http://.
https://
Without a certificate, the padlock breaks it.
Browsers try https:// first. When a forwarder has no certificate for your domain, visitors get a warning instead of a redirect.
.dev · .app · .page
Some domains can’t forward at all.
These TLDs only load over HTTPS, so a forwarder without a certificate never gets a chance to redirect them.
per hostname
Portfolios hit a sales call.
Some redirect services count www separately or require a quote for large portfolios. A drawer of parked names ends in “contact us”.Some redirect services count www separately or require a quote for large portfolios.
One request, one hop
A visitor opens
https://oldproduct.com/pricing?ref=x
Answers with a valid certificate for oldproduct.com
301, then lands on
https://newproduct.dev/pricing?ref=x
How it works
Verify ownership. Point DNS. Get HTTPS.
01 · Add
Add the redirect.
From the dashboard or the CLI: the domain, where it goes, and whether it keeps the path. Or bring your existing redirects with fwd import.From the dashboard or the CLI, or bring your existing redirects with fwd import.
$ fwd add oldproduct.com \ --to https://newproduct.dev02 · Point
Verify ownership and point DNS.
An account-bound TXT proof, an A record on the apex and a CNAME on www, at the registrar you already use. Forward spots leftover forwarding, stray records and CAA rules, and tells you what to change.At the registrar you already use. Forward spots leftover forwarding and stray records, and tells you what to change.
_forward-verify TXT [ACCOUNT PROOF] @ A [EDGE IP] www CNAME edge.forward.domains.
03 · Verify
The certificate takes care of itself.
After ownership and routing checks pass, Forward queues a certificate for the apex and www, and renews it before it expires.Queued after ownership and routing checks pass; HTTPS works once issued, with automatic renewal.
DNS ✓ apex ✓ www TLS ✓ issued, renews automatically
04 · Forward
Visitors land where they meant to.
One redirect straight to your destination, with the path and query string carried over, or sent somewhere specific with a path rule.One redirect, with the path and query string carried over.
GET oldproduct.com/pricing?ref=x 301 newproduct.dev/pricing?ref=x
What you get
Everything registrar forwarding should have done.
HTTPS everywhere
A certificate for every domain.
Apex and www, issued on setup and renewed automatically.Apex and www, renewed automatically.
Every TLD
.dev, .app and .page included.
HTTPS end to end, so HSTS-only domains forward like any other.HTTPS end to end.
Paths and path rulesPath rules
Deep links still work.
/pricing?ref=x arrives intact, or send /blog/* somewhere of its own.Paths kept, or routed on their own.
301 · 302 · 307 · 308
Permanent by default.
Temporary for launches, method-preserving for old API hosts, 410 for retired names.Plus 410 for retired names.
Wildcards
*.example.com, handled.
Subdomains get their own certificates, and a wildcard counts as one domain.Counts as one domain.
Your registrar stays
No transfer, no nameservers.
Ownership proof and routing records change. Your email keeps working.Email keeps working.
Import from anywhereImport
Bring what you have.
Cloudflare bulk redirects, vercel.json, Netlify _redirects, redirect.pizza exports or a CSV.Cloudflare, Vercel, Netlify, redirect.pizza, CSV.
Status page
99.9% uptime target, in public.99.9% target, in public.
Checked every minute at status.forward.domains.status.forward.domains
Pages
Not every domain needs to go somewhere.
Park it, sell it, or lend it to a good cause. Every page links to the rest of what you own, your live projects and your names for sale, so no domain is a dead end. Served over HTTPS, with no ads and no tracking.Park it, sell it, or lend it to a good cause. Every page links to the rest of what you own, so no domain is a dead end.
quietidea.com
Parked
quietidea.com
Something is brewing.
More from this owner
Quickzones
For the Mac
Queuebert
Queue monitoring
greatname.dev
For sale
Parked
Park it.
The name, a line about what’s coming, and links to your live projects. Free on every plan.
greatname.dev
For sale
greatname.dev
$4,500
USD · offers considered
Send offer · View listing
For sale
Sell it.
An asking price or “make an offer”. Offers come straight to you without exposing your email, and Forward takes no commission. Or link to your marketplace listing.An asking price or “make an offer”. Offers come straight to you, with no commission. Or link to your marketplace listing.
sparename.org
sparename.org · Parked for a good cause.
Verified nonprofit
[CHARITY NAME]
Donate ↗
Supporting a cause
Lend it to a good cause.
Point visitors to a verified nonprofit’s own donation page. Forward never touches the money. Free on every plan.Point visitors to a verified nonprofit’s own donation page. Forward never touches the money.
For developers
Redirects as code.
Keep every redirect, path rule and page in a redirects.yaml next to your code. fwd sync shows the plan, then applies it, from your terminal, from CI or from your agent. On every plan, including free.Keep every redirect in a redirects.yaml next to your code. fwd sync shows the plan, then applies it. On every plan, including free.
From your terminal.
fwd add creates the redirect and prints the records to set at your registrar. fwd verify checks DNS, the certificate and the redirect in one pass.fwd add prints the records to set at your registrar. fwd verify checks DNS, the certificate and the redirect.
Terminal
zshScroll →
$ fwd add oldproduct.com --to https://newproduct.dev ✓ Rule created oldproduct.com, www.oldproduct.com → https://newproduct.dev 301 · keeps path Set these records at Hover: @ A [EDGE IP] www CNAME edge.forward.domains. Remove: Hover forwarding on @ and * $ fwd verify oldproduct.com DNS ✓ apex ✓ www TLS ✓ certificate issued HTTPS ✓ 301 → newproduct.dev/pricing?ref=x
$ fwd add oldproduct.com \
--to https://newproduct.dev
✓ Rule created 301 · keeps path
Set these records at Hover:
@ A [EDGE IP]
www CNAME edge.forward.domains.
$ fwd verify oldproduct.com
DNS ✓ apex ✓ www
TLS ✓ certificate issued
HTTPS ✓ 301 → newproduct.dev01
Install the CLI
npm install -g @forward-domains/clinpm i -g @forward-domains/cli
02
Describe your redirects
One file lists every domain, where it goes and how. fwd pull writes it from an account; fwd import writes it from Cloudflare, Vercel, Netlify or redirect.pizza.One file for every domain, or fwd import from where they live now.
03
Sync on merge
The GitHub Action runs fwd sync, so redirect changes go through review like any other change.The GitHub Action runs fwd sync, so redirect changes go through review.
redirects.yaml
YAMLScroll →
version: 1
rules:
- hosts: [oldproduct.com, oldproduct.net]
to: https://newproduct.dev
paths:
- from: /blog/*
to: https://newproduct.dev/journal/*
- hosts: [spring-launch.com]
to: https://newproduct.dev/launch
status: 302
- hosts: [greatname.dev]
action: page
page: { template: forSale, price: "4500", currency: USD }version: 1
rules:
- hosts: [oldproduct.com]
to: https://newproduct.dev
- hosts: [spring-launch.com]
to: https://newproduct.dev/launch
status: 302
- hosts: [greatname.dev]
action: page
page: { template: forSale, price: "4500", currency: USD }Plan
Scroll →
$ fwd sync --dry-run + spring-launch.com → newproduct.dev/launch 302 ~ greatname.dev redirect → for-sale page 1 to add, 1 to change, 0 to remove
@forward-domains/cli
Add, import, verify, test and sync redirects from your terminal. Every command speaks --json.Add, import, verify, test and sync from your terminal.
Read the guide →
redirects.yaml
Hosts, destinations, status codes, path rules and pages, in one reviewable file.Redirects, path rules and pages in one reviewable file.
Read the guide →
forward-domains/sync-action
A GitHub Action that runs fwd sync on merge, with the plan posted to the pull request.Runs fwd sync on merge, with the plan on the pull request.
Read the guide →
@forward-domains/mcp
Let your agent check, test and plan redirects. Read-only by default; changes go through a plan you approve.Let your agent check, test and plan redirects. Changes need your approval.
Read the guide →
Point it.
Forward it.
Forward is in early access. Bring one domain, or the whole drawer of them.