Discord hides its own character counter until your message drops below 200 characters remaining — by then you are already editing under pressure. This counter shows your exact count from character one, against the exact limit your account gets: 2,000 characters on free and Nitro Basic, 4,000 on full Nitro.
Paste your draft below. The count updates live, the color bar shows where you stand, and if the message runs long the split helper finds a clean paragraph-boundary break so every part sends under the cap. No signup. No install. Nothing uploaded.
RP mode — roleplayers and long-form writers: draft your full post here. If it crosses the limit, the split helper below suggests a clean paragraph-boundary break and can number each part for you.
Your text never leaves your browser. Nothing is uploaded — your draft lives only in this tab, and the browser erases it when the tab closes.
Every rule that governs how many characters one Discord message can carry, cross-verified against Discord's official caps article (updated March 2026), the official API documentation, and community-observed client behavior. One number to memorize: 2,000 — and the only thing that ever changes it is a full Nitro subscription.
| Account / Context | Message Limit | Source & Notes |
|---|---|---|
| Free account — anywhere you type | 2,000 characters | Discord Official + API Docs |
| Nitro Basic account | 2,000 characters | Larger uploads, same message cap — Discord Official |
| Full Nitro account | 4,000 characters | The only tier that doubles it — Discord Official + API Docs |
| Bot account (message sent via API) | 2,000 characters | Nitro never applies to bots — Discord API Docs |
| Incoming webhook (content field) | 2,000 characters | Discord API Docs |
| Server channels & DMs / group DMs | 2,000 / 4,000 characters | Same limit everywhere you type |
| Threads & thread replies | 2,000 / 4,000 characters | Each message gets its own budget |
| Forum post (first message) | 2,000 / 4,000 characters | Title is a separate 100-character field |
| Announcement channel messages | 2,000 / 4,000 characters | Same as regular channels |
| Voice channel text chat | 2,000 / 4,000 characters | Same as regular channels |
| Forum post title (separate field) | 100 characters | Discord API Docs |
| Components V2 text display (bot messages) | 4,000 characters | Separate budget from message content — Community-verified |
| Embed payload (bot messages) | 6,000 characters | Separate budget from message content — Discord API Docs |
Only full Nitro changes the message limit. Nitro Basic, bots, and webhooks all stay at 2,000 characters, and every location in Discord — channels, DMs, threads, forums, voice chat — applies the same number for your account type.
Dedicated counters for every Discord field
Discord added a native character counter to the message input, but it only appears when you are within 200 characters of the 2,000-character limit. Before that point, the interface gives you no signal at all about where you stand. There is no setting that changes this on desktop or mobile, and no server-level toggle — the count is simply invisible for the first 90 percent of your budget.
For a casual one-line message, that is fine. For a server announcement, a ruleset, a creative writing post, or a bot embed draft, it means you frequently hit the wall mid-sentence and have to cut content under pressure. For the roleplaying community on Discord — one of the platform’s largest long-form writing communities — this is a daily frustration, because multi-paragraph narrative posts routinely run past the limit before the counter ever appears.
The second reason an external counter matters: when you paste text longer than the limit into the Discord app, the entire content is converted into a .txt file attachment. The message body arrives empty. Recipients see a file sitting in the middle of the conversation and have to click it, download it, and open it to read what you wrote — and in an active server channel, almost nobody does. The message is effectively lost. Messages sent through the API get no such conversion: the request fails outright with an HTTP 400 Invalid Form Body error.
Even when Discord’s built-in counter does appear, it has documented quirks of its own. Discord’s known-issues post for the chat text box acknowledges that the counter can miscalculate message length — slash-command syntax like /spoiler was a cited example. A separate, community-documented quirk: the client strips leading and trailing line breaks from messages before storing them, which quietly changes the count you thought you had. A third-party counter that measures the raw text from character one is the reliable bill.
Drafting in this counter before you paste into Discord takes thirty seconds. It eliminates both problems — the invisible budget and the file-conversion dead end — before they happen.
The table below lists every confirmed Discord character limit, cross-verified against Discord’s official support article on account caps (article 33694251638295, updated March 2026), the official Discord API documentation, and the platform announcements Discord has published in 2026. One entry changed this year: the About Me bio limit was raised from 190 to 300 characters in September 2026, and the table reflects it. The message row is the one this page’s counter lives on — every other field belongs to the Discord Character Counter, the parent tool that counts them all.
| Field | Free / Base | Nitro | Source & Notes |
|---|---|---|---|
| Message (all channels, DMs, threads, forums) | 2,000 characters | 4,000 characters | Discord Official + API Docs |
| Bio / About Me | 300 characters | 300 characters | Discord Official — raised from 190 in Sept 2026 |
| Custom Status | 128 characters | 128 characters | Community-verified |
| Pronouns Field | 40 characters | 40 characters | Community-verified |
| Username | 2 to 32 characters | 2 to 32 characters | Discord Official |
| Display Name | 1 to 32 characters | 1 to 32 characters | Discord Official |
| Server Nickname | 1 to 32 characters | 1 to 32 characters | Discord Official |
| User Notes | 500 characters | 500 characters | Discord Official |
| Server Name | 2 to 100 characters | 2 to 100 characters | Discord Official |
| Server Description (Community) | 120 characters | 120 characters | Community-verified |
| Channel Name | 1 to 100 characters | 1 to 100 characters | Discord Official |
| Channel Topic (text channels) | 1,024 characters | 1,024 characters | Discord API Docs |
| Channel Topic (forum & media channels) | 4,096 characters | 4,096 characters | Discord API Docs |
| Category Name | 1 to 100 characters | 1 to 100 characters | Discord API Docs |
| Role Name | 1 to 100 characters | 1 to 100 characters | Discord Official |
| Forum Post Title | 100 characters | 100 characters | Discord API Docs |
| Vanity URL (Level 3 servers) | 25 characters | 25 characters | Discord Official |
| Uploaded Filename (no extension) | 100 characters | 100 characters | Discord Official |
| Uploaded Filename (with extension) | 1,024 characters | 1,024 characters | Discord Official |
| Webhook Name | 1 to 80 characters | 1 to 80 characters | Discord API Docs |
| Webhook Message Content | 2,000 characters | 2,000 characters | Discord API Docs |
| Embed Title | 256 characters | 256 characters | Discord API Docs |
| Embed Description | 4,096 characters | 4,096 characters | Discord API Docs |
| Embed Field Name | 256 characters | 256 characters | Discord API Docs |
| Embed Field Value | 1,024 characters | 1,024 characters | Discord API Docs |
| Embed Footer Text | 2,048 characters | 2,048 characters | Discord API Docs |
| Embed Author Name | 256 characters | 256 characters | Discord API Docs |
| Total Embed Payload (all fields combined) | 6,000 characters | 6,000 characters | Discord API Docs |
| Embeds per Message | 10 embeds | 10 embeds | Discord API Docs |
| Fields per Embed | 25 fields | 25 fields | Discord API Docs |
| Slash Command Name | 1 to 32 characters | 1 to 32 characters | Discord API Docs |
| Slash Command Description | 1 to 100 characters | 1 to 100 characters | Discord API Docs |
| Combined Command Text | 8,000 characters | 8,000 characters | Discord API Docs |
| Modal Text Input | 4,000 characters | 4,000 characters | Discord API Docs |
| Components V2 Text Display (total) | 4,000 characters | 4,000 characters | Community-verified |
Source confidence: Discord Official values come from Discord’s own support articles and announcements (the Account Caps guide updated March 2026, plus the September 2026 bio announcement). Discord API Docs values come from the official API reference at docs.discord.com. Community-verified values are client-observed limits Discord has never officially published; they are consistent across current client versions and cross-confirmed by at least two independent sources. Last verified September 29, 2026 — and only one limit has changed this year: the bio, from 190 to 300.
This is the most practically important fact on this page, and it is currently buried in or omitted from most Discord character limit guides: only one Discord character limit changes with a full Nitro subscription. The message limit doubles from 2,000 to 4,000 characters. That is the entire list of character limit changes. Every other field on the platform is identical for free, Nitro Basic, and full Nitro accounts.
There is also a critical distinction between Nitro Basic and full Nitro that almost no guide addresses: Nitro Basic does not increase the message character limit. If longer messages are your primary reason for considering a paid subscription, you need the full Nitro tier. Nitro Basic includes larger file uploads and other perks but keeps the standard 2,000-character message limit — the cheaper tier will not deliver the one thing you are shopping for.
| Changes with Nitro | Stays the Same for Free and Nitro |
|---|---|
| Message limit: 2,000 to 4,000 characters | Bio / About Me: 300 characters (raised from 190 in Sept 2026, for everyone) Custom status: 128 characters Username: 2 to 32 characters Display name: 1 to 32 characters Server name: up to 100 characters Channel topic: up to 1,024 characters (up to 4,096 in forum and media channels) Role name: up to 100 characters All embed limits: unchanged All server / channel limits: unchanged |
The About Me bio is the most commonly misunderstood case. Discord users submitted requests on the official support community for years asking for an expanded bio limit tied to Nitro. It never came — and then in September 2026 Discord raised the limit from 190 to 300 characters for every account type at once, not as a Nitro perk. A user who pays for Nitro expecting a larger bio gets the same 300 characters as everyone else.
One more subscription edge case that catches long-form writers: editing re-applies your current limit. If you cancel full Nitro, every message you previously sent at 2,001 to 4,000 characters becomes un-editable until you cut it back under 2,000 characters — even if the edit would have made the message shorter, or was only fixing a typo. The messages stay visible at full length; it is only the edit that breaks. Writers who pause and resume subscriptions hit this regularly.
Bots and webhooks never receive the doubled limit either. Bot accounts always cap at 2,000 characters per message regardless of the sending user’s subscription status, and webhook message content caps at 2,000 characters as well. The 4,000-character limit is a user-tier benefit that does not carry through to programmatic sending — which is why this counter ships a dedicated Bot/Webhook mode.
Discord counts characters as Unicode code points. Discord has never published a formal counting-method document, but code-point counting matches the behavior of the current clients and the API across every message field, and it is exactly what the counter above enforces. The method matters because it changes how emoji, custom emoji, mentions, and formatting symbols behave inside your 2,000-character budget — the number this page shows you is the number Discord’s servers accept. The counting-method line in the counter above shows all three measurements for your draft — code points (the number Discord enforces), graphemes (the visible symbols you see), and UTF-8 bytes (the storage size) — so the gap between the three is never a mystery.
Most standard emoji count as one character each in Discord. This is more generous than platforms like Twitter/X, which use weighted counting and charge two characters for many emoji. A simple smiley face, a thumbs up, or a heart emoji each costs one character of your 2,000-character message budget.
Some emoji sequences use multiple Unicode code points and count as more than one character. Flag emoji and skin-tone modifier variants are the most common examples: a flag is two Regional Indicator letters joined, and a skin-tone variant is a base emoji plus a modifier, so each counts as two code points. A family emoji is seven. If a heavily emoji-decorated message looks shorter than Discord claims it is, paste it above — the code point count will match Discord’s number exactly.
Custom Discord emoji do not count as one character. When you use a custom emoji from a server, Discord stores it in the message content as a raw reference such as <:blob_dance:123456789012345678>, and that entire string counts toward your limit — 32 characters for that one visible image. User mentions, role mentions, and channel mentions work the same way; the visible @Username you see in chat is backed by a reference like <@123456789012345678>, which costs 21 characters. Timestamp tags such as <t:1735689600:R> are counted the same way. The markup overhead panel in the counter above totals all of this live.
Every Markdown symbol counts toward the character limit. Bold text costs four asterisks per phrase, italic costs two, strikethrough four, spoiler tags four. A heavily formatted message is effectively shorter than it appears, because part of the budget is spent on punctuation the reader never sees. This is the per-construct price list:
| Markdown Construct | Raw Character Cost | Notes |
|---|---|---|
Bold **text** | 4 | Two asterisks on each side |
Italic *text* or _text_ | 2 | One symbol on each side |
Underline __text__ | 4 | Two underscores on each side |
Strikethrough ~~text~~ | 4 | Two tildes on each side |
Spoiler ||text|| | 4 | Two pipes on each side |
Inline code `code` | 2 | One backtick on each side |
Code block ```lang … ``` | 6 + tag | Six backticks plus the language tag |
Header line ### text | 2 to 4 | Hashes plus the trailing space |
Blockquote line > text | 2 | The marker plus the space |
List item - text | 2 | The marker plus the space |
Masked link [text](url) | 4 + URL | Brackets, parens, and the full raw URL |
Masked links deserve a special mention because they are the most expensive construct in the list: Discord does not shorten URLs, so a link written as [text](url) bills the brackets, the parentheses, and every character of the URL itself. A bare URL pasted on its own is autolinked for free — no bracket overhead — and counts at its raw length. The difference between wrapping and not wrapping a link is four characters; the URL length is unavoidable either way.
Each line break in a Discord message counts as one character, and a Windows-style CRLF break counts as two. For server rules lists, formatted announcements, and any content where vertical spacing is part of the presentation, that adds up quickly. One counting quirk worth a safety margin: tab characters inside code blocks are expanded to four spaces each, which is why some drafts that show around 1,970 characters in a client still fail the 2,000-character check. The split helper’s safety-margin option exists exactly for cases like this.
Discord does not shorten URLs in messages or any other field. A full URL counts at its complete raw length — a long link can consume 60 to 80 characters of a single message. There is no display-versus-raw discount the way some platforms prettify links: what you paste is what you pay for. Link shorteners reclaim meaningful space in tight fields like the 300-character bio; in messages, they matter mostly when you are near the cap.
Discord serves a wide range of users with very different character counting needs. The tool above is built for all of them, but the part of this page you need depends on who you are.
The roleplaying community is one of Discord’s largest long-form writing communities, and the one most directly constrained by the 2,000-character message limit. Multi-paragraph narrative responses, character dialogue, and scene-setting posts frequently hit or exceed the limit, and the standard RP workflow is exactly what this page automates: draft the full post (most roleplayers draft in Google Docs or a notes app), count the characters, find the natural split point, and paste each section as a separate message. The community convention is to number the parts — 1/2, 2/3 — so readers know a continuation is coming, and to split at scene or paragraph boundaries rather than mid-sentence. Writers with full Nitro should flip the counter to Nitro mode and draft against 4,000 characters instead. For writers considering Nitro primarily for the higher limit: full Nitro doubles the message limit and may justify the subscription for writers who regularly post at 1,500 to 2,000 characters — Nitro Basic does not.
Server admins deal with announcements, rule summaries, event descriptions, and welcome messages — all inside the same 2,000-character box. An announcement that gets converted to a .txt attachment on paste does not announce anything; it sits unopened in the channel. Counting before pasting is the difference between an announcement that lands and a file nobody downloads. Admins juggling other fields — channel topics, server names, role names — will find those counters on the Discord Character Counter.
Bot developers face the most technically complex character counting situation on Discord. Embed limits are completely separate from message limits and are not visible anywhere in the Discord interface. The most common mistake is building an embed where every individual field sits within its own limit, but the combined total exceeds the 6,000-character embed payload cap — the API returns an HTTP 400 Invalid Form Body error with no user-visible explanation. Draft your bot’s message templates in Bot/Webhook mode above to enforce the exact 2,000-character cap the API enforces, and see the embed section below for the full embed budget table.
For everyone else — support macros, moderation notes, patch-note summaries, game-night instructions, or the occasional long DM explanation — the tool is simple: paste what you drafted, confirm it fits under 2,000 characters, and send. No need to wait for Discord’s built-in counter to appear at 200 characters remaining. If the draft runs long, the split helper turns it into clean parts before you ever touch the Discord input box.
This page counts messages only — that is its job. If you are drafting for a different Discord field, the limits are different and the parent tool covers all of them: the About Me bio at its new 300-character limit (raised from 190 in September 2026), the custom status at 128, the pronouns field at 40, server and channel names at 100, channel topics at 1,024, forum post titles at 100, and every bot embed field down to the 6,000-character payload cap — all in one tabbed tool on the Discord Character Counter.
The every-field table earlier on this page lists every value with its source. The one thing to remember when you switch fields: only the message limit changes with Nitro. Everything else is the same number whether you are on a free account, Nitro Basic, or full Nitro — so there is no subscription to check before you paste a bio or a channel topic. Use the parent counter for those fields, and come back here when it is time to send the message itself.
Discord does not silently trim your message. It blocks sending until you shorten the text — or, if you paste past the limit, converts the content to a .txt attachment nobody opens. In practice you have three fixes: split the message (free, immediate), double your budget with full Nitro (paid), or move the content out of the message entirely (a link). Here are the practical options in order of preference.
One operational note before you fire off a five-part post: Discord rate-limits how quickly messages can land in a channel, and if the channel has slowmode enabled, every part of a multi-part message has to wait out the interval between sends — slowmode can be configured as high as six hours per message. Bots skip the wait outright, and so do users holding the bypass-slowmode permission; everyone else paces their parts. In heavily slowmoded channels, the paste-service link above is often the better route for genuinely long content.
Discord sits in the middle of the messaging platform spectrum when it comes to message length. It is far more generous than Twitter/X for public posts and far more restrictive than Reddit or Facebook. Here is how the major platforms compare for a single message or post.
| Platform | Message / Post Limit | Notes |
|---|---|---|
| Discord (Free / Nitro Basic) | 2,000 characters | DMs, channels, threads, forums |
| Discord (Full Nitro) | 4,000 characters | Message only; all other limits unchanged |
| Instagram Caption | 2,200 characters | Truncated in feed after ~125 characters |
| Twitter / X (Free) | 280 characters | Weighted counting; links count as ~23 |
| Twitter / X (Premium) | 25,000 characters | Long-form posts only |
| LinkedIn Post | 3,000 characters | Truncated after ~210 characters in feed |
| Reddit Post | 40,000 characters | Self-posts; comments capped at 10,000 |
| Facebook Post | 63,206 characters | Highest limit of major platforms |
| WhatsApp Status | 700 characters | Story-style; app-enforced |
| Slack Message | No hard cap | Truncates past 40,000; ~4,000 recommended |
| Telegram Message | 4,096 characters | Counted after formatting parsing |
| Twitter / X DM | 10,000 characters | Much higher than public posts |
The most relevant comparison for Discord users is Telegram, which allows 4,096 characters per message without any subscription — Discord full Nitro matches the ballpark at 4,000. Telegram also counts its limit after formatting is parsed, which means the Markdown-style entity syntax rides free; Discord counts the raw text including every formatting symbol, which is why the same drafted post can need more characters on Discord than on Telegram. Slack has no enforced message character limit — it truncates messages past 40,000 characters and recommends keeping messages under about 4,000 — a meaningful advantage for teams that need to share long technical content without splitting or linking out. Reddit allows 40,000 characters per self-post and 10,000 per comment, making it far better suited for long-form community content than Discord. And on the other end of the spectrum, Twitter/X free posts are 280 characters with weighted counting, where many emoji and CJK characters cost two.
Discord embeds are the structured message format bots use to deliver formatted content. Every embed field has its own character limit, and an additional total payload cap applies across all embeds attached to a single message. None of these limits are visible in the Discord interface; they are enforced server-side and surface only as a 400 error when violated.
| Embed Field | Character Limit | Key Notes |
|---|---|---|
| Embed Title | 256 characters | Can include a clickable URL; shown at the top |
| Embed Description | 4,096 characters | Largest single field; full Markdown including code blocks and links |
| Embed Field Name | 256 characters | Up to 25 fields per embed; bold above the value |
| Embed Field Value | 1,024 characters | Inline or on a new line; supports Markdown |
| Embed Footer Text | 2,048 characters | Bottom of the embed; timestamps and attribution |
| Embed Author Name | 256 characters | Above the title with an optional icon and URL |
| Total Embed Payload | 6,000 characters | Combined title, description, field, footer, and author text across ALL embeds on one message — the most commonly hit limit in production |
| Embeds per Message | 10 embeds | The 6,000-character budget is shared across all embeds in the message — a second embed does not add budget |
| Fields per Embed | 25 fields | Each with a 256-character name and 1,024-character value, all counting toward the 6,000 total |
The 6,000-character trap: a common production error occurs when each individual embed field is within its own limit, but the combined total exceeds 6,000. A layout of a 200-character title, a 2,000-character description, three fields with 500-character values, and a 200-character footer totals 3,900 — comfortable. Extend the description to 3,500 and add a fourth field at 1,024, and the total reaches 6,424: the API rejects it with an HTTP 400 Invalid Form Body error even though every individual field is valid. The fix is to move long content into the description field (which allows 4,096 characters), keep field values short, or send the overflow in a separate message — each message gets its own 6,000-character embed budget.
Nitro does not help here. Embed limits are fixed for all account types and for all bot accounts regardless of anyone’s subscription status, and bot message content is always capped at 2,000 characters. Newer bot tooling adds one more budget worth knowing: Components V2 text display components share a 4,000-character total across a message — separate from both the message content and the embed payload, and with the quirk that Markdown link URLs count toward it in full — excluding them is only a pending feature request, not current behavior. The Discord Character Counter meters the embed payload live on its Embeds tab if you want to test a layout before shipping it.
Character limits on Discord do move — quietly. In September 2026, Discord’s official account on X announced that the profile bio (About Me) limit had been raised to 300 characters: “110 more characters than before.” The old limit was 190; the new one is 300, and it applies to every account type at once — free, Nitro Basic, and full Nitro all get the same 300.
The rollout outpaced the documentation. Discord’s own support article on profile customization still listed the About Me limit as 190 characters when we re-verified in late September 2026, and every character limit guide we checked — including the pages ranking on search engines for “Discord character limit” — was still publishing 190. If a tool or article quotes a 190-character bio in late 2026, it has not been re-verified since the change.
The message limits did not move: 2,000 characters for free and Nitro Basic accounts, 4,000 with full Nitro, and 2,000 for bots and webhooks — all unchanged. We re-verify every number on this page against official sources and stamp the tables with the date of their last check, because limits like this change without an entry in the patch notes. Last verified September 29, 2026.
If you have searched for a way to handle long messages automatically, you have probably met the plugin ecosystem. BetterDiscord’s SplitLargeMessages — with more than 900,000 downloads — automatically splits a message into parts when you hit send. CharCounter, with more than 260,000 downloads, adds an always-visible character counter to the message input, the edit box, and several other surfaces. Vencord offers a similar character counter plugin for its client.
The catch is the platform they ride on. Client mods inject code into the Discord desktop app, and using them violates Discord’s terms of service — Vencord’s own README says so plainly, and Discord’s support community confirms account action for confirmed use. They also break whenever Discord ships a client update, which means the tool you rely on for daily long-form posting can vanish overnight. Installing one is a genuine tradeoff: convenience inside the desktop app, in exchange for account risk and maintenance churn.
A browser-based counter takes the opposite position on every axis: nothing installed, nothing injected, no terms-of-service exposure, and nothing to break. It works in the desktop web client, in mobile Safari or Chrome, and on locked-down machines where installing a client mod is impossible. The split helper above produces the same outcome SplitLargeMessages does — clean parts under the limit — with the added fence handling and per-part copy, without ever touching the client. For roleplayers on mobile and writers who switch machines, that is the more durable setup.
Direct answers to the most common Discord message character limit questions — including the September 2026 limit change
Character counters for other platforms and TextCountify’s general text tools