To find someone on Discord, search the member list of a server you share with them, or send a friend request using their exact username from the Add Friend screen. Discord has no global user directory. Its built-in search only reaches people inside servers, DMs, and friend lists you are already part of. When you have nothing but a username and no shared context, the working approach is to pivot: use the account's Discord User ID where you can obtain one, and cross-reference the username across other platforms with OSINT lookup tools.
Why Discord search can't find people you don't already know
Discord's search is scoped, not global. Misread that and you spend an afternoon querying a directory that does not exist:
- Server search (the magnifying glass, or Ctrl/Cmd+F) searches messages and members inside the current server. Type a username there and Discord will only surface members of that server.
- Quick Switcher (Ctrl/Cmd+K) finds servers, channels, and DMs you are already in. It never reaches unknown users.
- Add Friend accepts a username and sends a request, but there is no autocomplete, no browse mode, and no "search results" for people you aren't connected to. You must type the exact username.
- Profiles are only visible where a connection exists: a shared server, a DM, or a friendship. Even then, users can restrict who can DM them or see their activity.
Since Discord finished migrating to unique usernames in 2023, the old name#1234 discriminators are gone. Every account now holds one globally unique, lowercase username. That makes friend adds deterministic: type the right name and the right account gets the request. It also removes all fuzziness. Get one character wrong and you get nothing.
The design is deliberate. Discord optimizes for being findable from inside communities you join, not for being discoverable from outside. If your person isn't in a server you share, the app itself has nothing to offer. Every method that actually works lives outside the app.
What you need before you start
Gather whatever you have before picking a method. The identifier you start with decides which path is even possible:
- The exact username: lowercase, no spaces, no # suffix. Discord shows it on profiles and in settings. Display names (which can contain spaces, capitals, and emoji) are not usernames and cannot be used for friend adds.
- A User ID: a 17–19 digit number. The most stable identifier on the platform; how to get one is covered below.
- Any shared server: even a large one. Member lists and server search work fine at scale.
- Associated accounts: the same handle on Steam, Twitch, GitHub, X, Reddit, or gaming forums. Discord accounts almost always orbit a person's other identities.
- An email or phone number: if you already have one, a people search may resolve the person directly without touching Discord at all. That lookup runs against public records and open sources; it is not an FCRA background check.
Method 1: Search inside a shared server
If you share a server, Discord's own tools are usually enough:
- Open the server and expand the member list on the right.
- Use the search field at the top of the member list and type the username or display name.
- If the member list is large, use server search (top-right search bar) and filter to Members, or search messages by author and click through from a post.
Two caveats. Member lists show every member of a server, including people whose status is set to Invisible (they still display as offline). If someone isn't in the list, they aren't in that server. And large servers load members lazily; don't try to scroll a 500,000-member list. Use search instead.
If you don't share a server, your in-app option narrows to guessing which communities they're in. Public server directories like Disboard and Top.gg let you browse servers by topic. Join the plausible ones and repeat the member-list search. Slow, hit-or-miss work. For niche interests (a specific game, a creator's fan server) it genuinely works.
Method 2: Add Friend with the exact username
This is the in-app option when you already have the handle:
- Go to Friends → Add Friend in Discord.
- Type the exact username (case-insensitive) and send the request.
- If they accept, you get full profile visibility and a DM channel.
Watch the failure modes:
- A misspelled username produces no feedback and no "did you mean." It just fails silently.
- The person has friend requests restricted (server-members-only or disabled entirely). Common for anyone who has been harassed, and for anyone with a public following.
- Brand-new accounts with no mutual connections sometimes have requests swallowed by Discord's spam filtering.
If the username is a common word, remember it is now globally unique: someone owns it, but it might not be your person. And if you knew the account from before 2023, the username you need may differ from what you remember. Display names were what most people saw back then; the underlying username was often something else.
Method 3: Work with the Discord User ID
User IDs are the serious identifier. A Discord User ID is a 64-bit snowflake: unique, never changing, never recycled. Usernames can be edited; IDs can't. If you are doing genuine investigative work on a Discord account, get the ID.
How to get one:
- Settings → Advanced → enable Developer Mode.
- Right-click the user (long-press on mobile) anywhere they appear (member list, DMs, message authors) and choose Copy User ID.
The catch: you can only copy the ID of a user Discord renders for you, which again requires a shared context. Once you have an ID, several things open up:
Account creation date. The timestamp is embedded in the ID. Discord's epoch is
2015-01-01T00:00:00Z; shift right 22 bits and add it:new Date(Number((BigInt("USER_ID") >> 22n) + 1420070400000n))An account created days before a scam started is meaningful. So is a 2015-era ID being used for fresh sockpuppet activity.
Stable cross-referencing. IDs appear in bot logs, webhook payloads, moderation logs, and exported server data. When a username changes, the ID persists. That is what lets you tie a renamed account back to its earlier behavior.
Bot and API resolution. Any bot present in a shared server can resolve an ID to a profile, and Discord's API exposes user objects to authorized applications.
Keep a note of ID plus first-seen username whenever you work a Discord case. Usernames drift; the snowflake does not.
Method 4: Cross-platform username search
When Discord itself can't help, the username is usually what solves a "find someone on Discord" problem. People reuse handles across platforms constantly. The Discord tag picked in 2017 is frequently the same string as their Twitch, GitHub, Reddit, or forum login. Each platform where the handle exists is one more source of biographical detail: real names in GitHub profiles, locations in forum signatures, link trees in bios.
Typing the handle into each platform's search, one at a time, works. It does not scale past a dozen sites. Skip the tab-hopping.
Open-source checkers. Sherlock is the best-known: give it a username and it checks a large, changing list of sites, reporting where accounts exist. It's free, scriptable, and fits a CLI workflow:
python sherlock username --output results.txt
Coverage shifts as sites redesign, so check the repo rather than trusting last year's site count. Results need triage. A matching handle is not automatically the same person, so treat hits as leads, not confirmation.
Aggregated people-search platforms. Revealer's username search runs the same pivot as a single query: one username in, results across 800+ platforms, public records, and known breach datasets. The hits that matter are often the ones you'd never think to check by hand (an old gaming ladder, a niche forum, a marketplace profile). The broader toolset is listed on the OSINT tools page if you want to see the full surface before committing to a starting identifier.
A practical chain, starting from a Discord username:
- Run the username through a cross-platform lookup.
- For each hit, pull the profile: display name, bio, avatar, join date.
- Look for explicit links (personal site, X account, link tree) and email addresses in public commits or profiles.
- Re-search with the new identifiers (real name, email) via a people search or email lookup.
Most investigations resolve somewhere between steps 2 and 4, because one of the linked accounts is usually a real-name account.
Method 5: Pivots from email, phone, or breach data
Sometimes you work in the other direction: you hold an email, phone number, or name, and want the person's Discord presence. Breach datasets are the useful bridge. Data breaches and infostealer infections routinely pair usernames with email addresses. A leaked credential set containing an email and a Discord handle ties the two together.
Revealer's data breach lookup and stealer log searches cover those datasets, and the people search covers public records by name, email, phone, or address. For recursive work (starting from one identifier and letting the search follow each new lead), AI Deep Search is the agent-driven option: it chains exactly the kind of username → profile → email → record steps described above instead of you running each hop manually. API users can script the same flows; details are in the API docs.
Treat a dump pairing as a lead, not a conclusion. An email sitting next to a Discord handle in a breach file does not prove the person still controls either account. Confirm against a live profile before you act on it.
Methods compared
| Method | What you need | What you get | Main limitation |
|---|---|---|---|
| Shared server member search | A server you both belong to | Their profile in that server | Useless without shared membership |
| Add Friend by exact username | Exact username | Request; profile on acceptance | Exact spelling only; privacy settings can block it |
| Server directory sweep | Guesses about their interests | Candidate servers to join | Manual, slow, hit-or-miss |
| User ID lookup | Any context where Discord renders them | Stable ID, account age, log cross-refs | Can't obtain the ID without shared context |
| Cross-platform username OSINT | Username | Linked accounts, names, bios, emails | Handle reuse not guaranteed; hits need triage |
| People search by email/phone/name | Any non-Discord identifier | Public-records hits, linked accounts | Requires a pivot identifier to start |
Lawful use: the line that matters
Everything above is technique. Whether your use case is legitimate depends on why you are searching:
Clearly legitimate:
- Investigating impersonation: someone using your name, brand, or a friend's identity to run scams.
- Trust-and-safety and moderation work: tying ban-evasion accounts to their earlier identities.
- Journalists verifying that a source or subject is who they claim to be.
- Reconnecting with someone you lost touch with, where contact is welcome.
Out of bounds: locating people for harassment, stalking, or intimidation; publishing private information about someone without consent; anything that violates Discord's Terms of Service. Investigations are subject to local law, and platform terms govern what you may scrape or automate. Prefer official APIs and purpose-built tools over improvised scraping.
Public-records search and people-search tools compile information that is already public: usernames, directory listings, breach datasets, forum profiles. That is not an FCRA background check. A background check used for employment, tenant screening, or credit is a different product, sold by a consumer reporting agency, with different legal duties. Revealer is not a consumer reporting agency. Do not use its results for employment, tenant, or credit decisions; those require an FCRA-compliant CRA.
Putting it together
Discord's search wall is real but narrow: no shared server means no answer inside the app. The durable workarounds are the User ID when you can get one, and the username pivot when you can't. Start with the identifier you hold, chain identifiers deliberately, and verify each link before you trust it.
Revealer's free tier is enough to run your first username query; paid plans start at $12.99/month with card and crypto accepted. See pricing.
Frequently asked questions
Can you search for someone on Discord by username alone? Not inside Discord. There is no global user search. You can send a friend request to an exact username, but for discovery without any shared context, cross-platform username lookup tools are the practical route.
What's the difference between a Discord username and a display name? The username is unique, lowercase, and used for logins and friend adds. Display names are per-profile, can contain spaces and capitals, and are not unique. Search and friend requests work on usernames only.
Can I find someone's Discord User ID without being their friend? Only where Discord shows them to you: a shared server's member list, their messages, or DMs. There is no public way to resolve an arbitrary username to an ID without some shared context.
Is it legal to search for someone on Discord? Searching public information for legitimate purposes (fraud investigation, verification, moderation) is generally lawful. Harassment, stalking, and doxxing are not, and they violate Discord's terms and, in many jurisdictions, criminal law.
Can a Discord account be traced to a real person? Often, indirectly: reused usernames lead to real-name accounts on other platforms, and breach datasets sometimes tie handles to emails. Discord itself discloses account data only through legal process.
Do Discord discriminators (#1234) still exist?
No. Discord retired discriminators during 2023; every account now has a unique username. Legacy name#1234 references only matter when mapping old records to current accounts.