A good Discord welcome message is short, uses the new member's name, and gives them one clear next action — not a wall of rules restated in an embed. The embed format (title, colored border, optional image, optional button) gives you more room than a plain message to look intentional, but more room is also how welcome messages end up bloated. Here is what each field is actually for, working examples, and where a button beats a wall of text.

A new member arrives and a welcome embed builds itself with an avatar, text and a button. Welcome to the server! Say hi in #introductions and check out #rules to get started. Get started

What the welcome embed is made of

On Noxyr's Welcome page, a welcome message has a channel, an embed title, the message body, a color, an optional image and an optional link button with its own label and URL. Four placeholders fill in automatically: {user} (a live mention/ping), {userTag} (their name without a ping), {server} and {memberCount}. A live preview sits next to the form so you see the rendered embed, not raw text with placeholders still showing.

Title: name the action, not just the event

"Welcome" as a title is fine but wasted space — the embed already visually announces itself as a welcome message. A title that hints at what to do next earns its spot instead: "Grab your roles" or "Read this before you post" sets an expectation the body then fulfills. Keep it under a short phrase; Discord truncates long embed titles awkwardly on mobile.

Message body: one sentence of warmth, one sentence of direction

The pattern that works across most servers: greet by name, state the member count (it makes even a small server feel active), then point at exactly one thing — a rules channel, a role-picker, a specific channel to introduce themselves in. Trying to cover four things in the welcome message means covering none of them well; put the rest in a pinned message or a dedicated onboarding channel instead. See our onboarding flow guide for how welcome fits together with rules and verification rather than trying to do all three jobs at once.

When an image earns its place

An image works when it is a real banner — server branding, a seasonal graphic, something that took five minutes to make look intentional. A generic stock welcome graphic actively looks worse than no image at all; a plain colored embed with good copy reads more custom than a mismatched banner. If you want one image across welcome, leave, verification and a few other messages without setting it five times, set a default image once on the Setup page — covered in our embed branding guide — and only override it here if welcome specifically should look different.

When to add a button, and when not to

The optional button is a link button, so it can only point at a URL — a rules doc, an external site, an invite to a sub-community. It cannot open a Discord channel directly or trigger a role grant (that is what a separate verification panel is for). Use it when there is genuinely one external link worth surfacing; skip it if the "link" you want is really just "read the next channel," which a plain sentence in the message body already covers without adding a redundant button.

Five starting templates

  • Friendly: "Hey {user}, welcome to **{server}**! You're member #{memberCount}. Grab your roles and say hi 👋" — button: "Get your roles."
  • Calm and premium: "Glad to have you in **{server}**. Read the rules, pick your roles, and enjoy your stay." — button: "Read the rules."
  • High-energy: "🔥 Everyone welcome {user} to **{server}**! That's #{memberCount}. Let's get you set up." — button: "Start here."
  • Plain and formal: "{user}, welcome. You are member {memberCount}. Please review the rules before posting." — no button needed.
  • Gaming / community: "GG {user}, welcome to **{server}**! You're #{memberCount}. Gear up and jump in 🎮" — button: "Claim roles."

The dashboard's Welcome page has a matching one-click template picker with these exact five styles (and their colors) if you would rather start from a preset and edit than write from scratch.

Common mistakes

  • Restating the entire rule set. That is what a rules channel is for; a welcome message that tries to be the rules channel gets skimmed and ignored.
  • Using {user} when you mean {userTag}. {user} pings — fine for a genuine greeting, less fine if the welcome channel is high-traffic and pings add noise. {userTag} names them without the ping.
  • A broken image URL. It needs to be a direct link to the image file itself (ending effectively in the image, served over https), not a link to a page that happens to display one. The live preview will show a broken image icon immediately if the URL is wrong — check it before saving.
  • Forgetting the enabled switch. The channel and message can be perfectly configured and nothing will post if "Enabled" is off.

Common questions

Can the welcome message assign a role automatically? No — welcome only posts a message. Automatic role assignment on join, gated by a button click, is the verification feature, a separate setting entirely.

Does {memberCount} count the person who just joined? Yes, it reflects the count right after they joined, so the message accurately says "you're member #47" rather than 46.

Can I preview the message before it goes live to new members? Yes, the Welcome page renders a live preview as you type, using sample placeholder values, so you see the real embed layout before saving.

What if I want a different welcome message depending on how someone joined (invite link vs. discovery)? Not supported — one welcome configuration per server, sent for every join regardless of source.

Should welcome messages go in a busy general channel or a dedicated one? A dedicated welcome channel is easier for new members to find their own arrival in and avoids adding a ping to every message in your main chat.

Build yours on the Welcome page of your server dashboard, and set up the matching leave message so both ends of the member lifecycle are covered.