You don't need to pay for Google Workspace or Microsoft 365 to get email at your own domain. Free custom domain email forwarding gives you a professional address like you@yourstartup.com that lands in the Gmail inbox you already use.
This guide walks through the full email forwarding setup using tools you probably already have: a domain registrar, Cloudflare, and a free Gmail account. No paid mailbox, no monthly subscription, no catch.
The catch is that forwarding only handles incoming mail. You'll need a separate trick for sending from your custom address, which I'll cover at the end.
What You Need Before You Start
You need three things, and all of them are free:
- A domain name you own (
.com,.dev,.app, whatever you registered) - A Cloudflare account with that domain added
- A free Gmail account that will receive the forwarded messages
If your domain is registered at Namecheap, Porkbun, or Cloudflare Registrar, you're already in good shape. The setup is nearly identical across registrars because the forwarding logic lives in DNS records, not in your registrar's dashboard.
Forwarding is a DNS-level feature. Once the records are correct, it works regardless of where you bought the domain or who hosts your website.
Step 1: Point Your Domain to Cloudflare
Cloudflare's free plan includes email routing, which is the engine behind free custom domain email forwarding. If your domain isn't on Cloudflare yet, add it now.
Sign up at Cloudflare, click Add a site, and enter your domain. Cloudflare scans your existing DNS records and imports them automatically. Then it gives you two nameservers that look like ada.ns.cloudflare.com and bob.ns.cloudflare.com.
Log into your registrar and replace the current nameservers with those two. Propagation usually takes under an hour, though some registrars are slower.
While you wait, you can still configure the email routing rules. Cloudflare applies them as soon as the nameserver change goes live.
Step 2: Enable Email Routing
In the Cloudflare dashboard, select your domain and click Email in the left sidebar. Then click Email Routing and Get started.
Cloudflare asks two questions:
- What custom address do you want to create?
- Where should messages to that address go?
For the custom address, enter the local part of your email. If you want hello@yourstartup.com, type hello. You can add more addresses later, like support@ or billing@.
For the destination, enter your existing Gmail address. Cloudflare sends a verification email to that address. Click the link, and the routing rule activates.
Step 3: Add the DNS Records
Cloudflare automatically creates the DNS records that make forwarding work. You'll see three types in your DNS dashboard:
MXrecords that point to Cloudflare's mail servers- A
TXTrecord for SPF that helps with deliverability - Optional
TXTrecords for DKIM if you later add sending
The MX records are the important ones. They look like this:
MX @ route1.mx.cloudflare.net 10
MX @ route2.mx.cloudflare.net 20
MX @ route3.mx.cloudflare.net 30
If you had existing MX records from a previous email provider, delete them. Multiple MX records with different priorities are fine, but stale ones from an old host will cause delivery failures.
Step 4: Test the Forwarding
Send a test email from a different account to your new custom address. If you only have one Gmail account, ask a friend to send one, or use a temporary inbox like Mailinator as the sender.
The message should arrive in your Gmail inbox within a few seconds. Check the To field to confirm it was sent to your custom address, not your Gmail address directly.
If nothing arrives after ten minutes, check three things:
- The nameserver change has fully propagated (use
dig NS yourdomain.com) - The MX records are present and not shadowed by old ones
- The destination address was verified in Cloudflare's Email Routing panel
What Forwarding Does and Doesn't Do
Forwarding handles incoming mail. That's it.
When someone emails hello@yourstartup.com, Cloudflare receives it, rewrites the envelope, and sends it to your Gmail. The sender never sees your Gmail address. Your replies, however, will come from your Gmail address unless you configure sending.
That's the trade-off. Free custom domain email forwarding gives you a professional receiving address. It does not give you a professional sending address out of the box.
For sending, you have two free options:
- Gmail's "Send mail as" feature with an SMTP relay
- A transactional email service like Resend or SendGrid's free tier
The Gmail route is more work but keeps everything inside Gmail. The transactional route is cleaner for automated mail but overkill for personal replies.
Setting Up Sending with Gmail's "Send Mail As"
Gmail lets you send from a custom address if you can prove you own it. Since you're already receiving mail at that address, the proof is simple.
In Gmail, go to Settings → Accounts and Import → Send mail as. Click Add another email address and enter your custom address.
Gmail asks for an SMTP server. You can use Cloudflare's email routing in reverse, but it's not designed for that. The more reliable free path is to use Gmail's own SMTP server with your Gmail credentials.
Use these settings:
SMTP server: smtp.gmail.com
Port: 587
Security: TLS
Username: your existing Gmail address
Password: a Google App Password (not your regular password)
You'll need to enable two-factor authentication on your Google account and generate an App Password. Google requires this for SMTP access from third-party clients.
Once verified, Gmail sends a confirmation code to your custom address. Since forwarding is active, the code lands in your inbox. Enter it, and you can now choose your custom address in the From field when composing.
Comparing Free Forwarding Options
Cloudflare isn't the only player. Here's how the main free options stack up:
| Provider | Free custom addresses | Catch-all support | Sending included | Setup complexity |
|---|---|---|---|---|
| Cloudflare Email Routing | Unlimited | Yes | No | Low |
| Forward Email | Unlimited | Yes | No | Low |
| ImprovMX | 25 addresses | No | No | Low |
| Zoho Mail (free tier) | 5 users | No | Yes | Medium |
| Google Workspace (paid) | Unlimited | Yes | Yes | Low |
Zoho's free tier is worth a look if you want a full mailbox without paying. It gives you 5GB per user and includes sending, but you're locked into Zoho's webmail or mobile app unless you pay for IMAP access.
Cloudflare and Forward Email are nearly identical in features. Cloudflare has the advantage of being a platform you might already use for DNS and CDN, so there's no extra account to manage.
Setting Up a Catch-All Address
A catch-all address receives mail sent to any address at your domain that doesn't have a specific rule. If someone typos helo@yourstartup.com, the catch-all catches it instead of bouncing.
In Cloudflare Email Routing, click Routing rules and then Catch-all. Set the action to forward to your Gmail address.
Catch-all is useful in the early days when you're not sure which addresses you'll need. It also means you can invent addresses on the fly. Sign up for a service as trello@yourstartup.com and the mail still reaches you.
The downside is spam. Once spammers discover your domain accepts all addresses, they'll send to random local parts. Cloudflare's spam filtering catches most of it, but some will slip through.
Catch-all addresses collect more spam over time. If you use one, create a Gmail filter that labels messages to unknown addresses so they don't clutter your primary inbox.
Adding Multiple Forwarding Addresses
You're not limited to one custom address. Cloudflare lets you create as many as you want, all forwarding to the same Gmail inbox or to different destinations.
Common setups for a solo founder:
hello@for general inquiriessupport@for customer issuesbilling@for payment questionsabuse@for security reports
Each address gets its own routing rule. You can forward all of them to one Gmail inbox and use filters to sort them. Or forward support@ to a shared team inbox if you have one.
To add an address, go to Email Routing → Routing rules → Create address. Enter the local part, choose the destination, and save. No additional DNS changes needed.
Troubleshooting Common Issues
Mail bounces with "domain not found." Your nameservers haven't propagated yet. Wait a few hours and try again. Use dig MX yourdomain.com to confirm the MX records are visible.
Mail goes to spam. Check that the SPF record exists. Cloudflare adds one automatically, but if you're using a different provider, you may need to add it manually. The record should include include:_spf.mx.cloudflare.net or your provider's equivalent.
Forwarding works but replies come from Gmail. You haven't set up the "Send mail as" feature. Follow the sending setup in Step 5.
Some senders bounce. Some email providers reject mail that doesn't have a valid DMARC record. Add a DMARC TXT record with a policy of p=none to start. This tells receivers to monitor but not reject.
FAQ
Is free custom domain email forwarding really free?
Yes. Cloudflare's email routing is included in the free plan with no limits on the number of custom addresses or forwarded messages. Forward Email offers a free tier as well. You pay only for the domain name itself, which you'd pay for anyway.
Can I send email from my custom domain for free?
Yes, with limitations. Gmail's "Send mail as" feature lets you send from your custom address using Gmail's SMTP servers. The recipient will see your custom address in the From field, but the underlying sender is still Gmail. For higher-volume or automated sending, you'll need a transactional email service, most of which have free tiers.
What's the difference between forwarding and a full mailbox?
Forwarding redirects incoming mail to an existing inbox. A full mailbox stores mail on a server you can access via IMAP or webmail. Forwarding is simpler and free, but you can't use it with a dedicated email client unless that client connects to the destination inbox. A full mailbox gives you more control but usually costs money or locks you into a specific provider's interface.
Does email forwarding work with any domain registrar?
Yes. Forwarding is handled by DNS records, not by your registrar. As long as you can change your nameservers to point to Cloudflare (or another forwarding provider), the feature works. Some registrars like Namecheap and Porkbun also offer built-in forwarding, but it's often limited to a few addresses.
How long does it take for forwarding to start working?
Nameserver changes typically propagate within an hour, though some ISPs cache DNS records for up to 24 hours. Cloudflare's routing rules activate immediately once the nameservers are live and the destination address is verified. In practice, most people have working forwarding within two hours of starting.
Can I use forwarding with a domain I use for a website?
Yes. Email routing and web hosting are independent. Your website's A and CNAME records point to your hosting provider, while the MX records point to Cloudflare's mail servers. They don't conflict. You can run a static site on Vercel or Netlify and forward email through Cloudflare simultaneously.

