Back to the blog
How to check if a number has WhatsApp (iPhone and Android)

How to check if a number has WhatsApp (iPhone and Android)

Step-by-step for checking a phone number on WhatsApp from an iPhone, an Android, and a browser, plus why WhatsApp Web can't do it and when manual checks stop working.

September 2, 2026 · 6 min read

Checking whether a number has WhatsApp takes the same three or four taps on both an iPhone and an Android phone: add it as a new chat, and WhatsApp tells you directly. The only real differences are where that button sits on each platform, what happens when you don't want to install the app, and what happens once you're past checking just one number.

Check a number on WhatsApp (iPhone)

Open WhatsApp, go to the Chats tab, and tap the pencil-and-square icon in the top-right corner. Choose New Contact, type the phone number with its country code, and save it. Go back to Chats and tap the entry: if the number has an active WhatsApp account, the chat opens normally. If it doesn't, WhatsApp shows "This phone number is not on WhatsApp" instead of a chat window.

Skip typing a name if you'd rather not save a full contact card, a number alone still saves and still returns the same result. iPhone occasionally shows the result faster if you back out to Chats and back in once, since the app double-checks new entries against its server on the next sync rather than instantly.

Check a number on WhatsApp (Android)

The flow is the same, the button just moves. Open WhatsApp's Chats tab and tap the round chat-bubble icon floating in the bottom-right corner, then New contact. Enter the number with its country code and save. Newer Android builds sometimes swap this for a plain New chat menu item instead of a floating button, depending on your WhatsApp version, but it leads to the same New Contact screen.

Once saved, open the chat the same way as on iPhone. A working chat window means the number is registered; a "not on WhatsApp" message means it isn't. Android's version of that message and iPhone's are worded identically, since both pull it from the same server-side check rather than anything device-specific.

Both platforms support a shortcut that skips the save-a-contact step entirely. Type wa.me/ followed by the full number, country code included and with no spaces, dashes, or plus sign, into a browser or even WhatsApp's own search bar. Open the link: a working WhatsApp chat screen means the number's registered, and a "Phone number shared via URL is invalid" or similar error means it isn't.

This works from a phone or a desktop browser, and it's the fastest single-number check when you don't want a new entry sitting in your contacts afterward. It queries the exact same registration data as the in-app method, just without the intermediate save step.

Why WhatsApp Web and Desktop can't do this natively

WhatsApp Web and the Desktop app have no independent "add new contact" flow the way the phone apps do, since both are mirrors of whatever's already synced from your phone, not a separate address book. There's no button in either interface that lets you type a fresh number and get a registered/not-registered answer on the spot.

The wa.me link is the workaround here too: paste wa.me/<number> into the browser running Web or Desktop, and it opens the same chat-or-error result as the mobile version. That gap explains why your desktop client seems to be missing a feature your phone has, it isn't a bug, WhatsApp Web was simply never built with its own contact-management layer.

What "not on WhatsApp" actually means

"This phone number is not on WhatsApp" means exactly one thing: no active account is tied to that number right now. It doesn't mean the number is disconnected, wrong, or fake, someone might have deleted WhatsApp, switched to a different number, or just never signed up in the first place.

It's also worth telling apart from an actual app error. If WhatsApp fails to load the chat, shows a loading spinner indefinitely, or crashes, that's a connectivity or app problem, not a registration answer, and retrying (or checking your own internet connection first) is the fix, not treating it as a "not registered" result.

Checking more than a few numbers: the rate-limit wall

iDownloadBlog, which tested the in-app method directly, found that running several checks back-to-back in a row can get WhatsApp to temporarily refuse further lookups, treating repeated new-contact attempts as automated or spammy behavior rather than normal use. There's no published number of checks that triggers it, but it shows up well before you'd get through even a short list by hand.

That wall is the real reason manual checking doesn't scale past a handful of numbers. For anything bigger, a spreadsheet export, a lead list, a batch of signups, checking one at a time in the app isn't a realistic option even before the restriction kicks in. See how to search a number on WhatsApp for the no-restriction version of a single check, and how to verify a WhatsApp number online for how a dedicated checker avoids the rate limit entirely by querying the network directly instead of through the consumer app.

For a full list, running it through a bulk validator once catches every dead number the same way cleaning a contact list before a campaign does, without triggering the restriction that stops the manual method cold.


The manual check works fine for one number before you message them, iPhone and Android both get you a straight answer in a few taps, and the wa.me link covers the cases where you don't want a new contact saved. It stops working the moment you're past a handful, and that's exactly where wavalid picks up: the same registered/not-registered check, run through the API, a CSV upload, or the Chrome extension, at a scale the app was never built to handle.

Frequently asked questions

Check numbers without hitting a wall

wavalid checks single numbers or full lists against WhatsApp's real network in sub-100ms per number, across 195+ countries, with no restriction on how many you run. Available via the web dashboard, REST API, CSV upload, or Chrome extension.