← Back to Blogs Tutorials 3 min read

How to Hide Spoilers on Discord (Text & Images)

How to Hide Spoilers on Discord (Text & Images)
TypeSyntaxRendered
Text spoiler
||text||
hidden text
Spoiler image
Mark via menu or filename
Gray blurred thumbnail

Wrap text in double pipes to hide it behind a black bar. Click or tap to reveal.

Spoiler tags let you hide text or images behind a black bar that readers can click to reveal. This is essential in any server where people discuss movies, games, shows, or plot twists. Without spoiler tags, a single message can ruin an experience for someone.

This guide covers how to spoiler on Discord for both text and images on desktop and mobile. For a complete reference of every formatting option, check out The Ultimate Discord Text Formatting Guide.


How to Spoiler Text on Discord Desktop

Two ways to hide text behind a spoiler bar on the desktop app and web client.

Type the Spoiler Syntax Manually

Add two pipe characters before and after the text with no spaces: ||text||. The pipe key is usually above the Enter key on US keyboards (Shift + backslash). On UK keyboards, it is next to the Z key.

||This is a spoiler||

Will look likeThis is a spoiler(click to reveal)

Select Text and Use the Spoiler Menu

Select the text you want to hide in the message input. Right-click the selection and choose Mark as Spoiler from the context menu. Discord wraps it in || automatically. If you use the formatting toolbar, look for the eye icon with a slash through it.

How to spoiler text on Discord using manual typing and the formatting toolbar

Spoilering text manually (||text||) and via the format toolbar


How to Spoiler Images on Discord Desktop

Images can be sent as spoilers so they appear as a blurred, gray thumbnail instead of showing the full picture.

Via the Upload Dialog

When you drag and drop an image or click the upload button, look for the Mark as Spoiler toggle. It is usually at the bottom of the image preview before you send. Check the box and the image sends as a spoiler.

How to mark an image as a spoiler on Discord via the upload dialog

Toggling the spoiler option before sending an image

Via Right-Click After Uploading

If you already sent an image without marking it as a spoiler, you cannot change it afterward. You must delete the message and re-upload with the spoiler toggle checked. There is no way to retroactively spoil an already-sent image.

Via Filename (Advanced)

You can prepend SPOILER_ to the filename before uploading. For example, renaming a file to SPOILER_boss-fight.jpg automatically marks it as a spoiler when uploaded. Discord detects the prefix and applies the blur without needing the toggle.


How to Spoiler on Discord Mobile

Both text and image spoilers work on mobile, but the process is slightly different.

iOS (iPhone / iPad)

  1. 1

    Type your message, then select the text you want to hide.

  2. 2

    Tap the formatting toolbar icon and look for the spoiler option (eye with a slash).

  3. 3

    If no toolbar appears, type ||text|| manually.

  4. 4

    For images, tap the attach button, select your image, then toggle Spoiler before sending.

Android

  1. 1

    Select the text you want to spoiler in the message input.

  2. 2

    Tap the formatting icon above the keyboard and choose the spoiler option.

  3. 3

    Alternatively, type || before and after the text.

  4. 4

    For images, attach the file and tap the spoiler toggle in the preview screen before sending.

Tip Finding the pipe on mobile: The | symbol is usually on the symbols keyboard. On iOS, tap 123 then #+=. On Android, tap ?123 then =\<. It looks like a vertical line.

How to Reveal a Spoiler on Discord

Revealing a spoiler is simple on all platforms.

  • Desktop: Click the black spoiler bar to reveal the text. Click it again to re-hide it.
  • Mobile: Tap the black spoiler bar to reveal the text. Tap again to hide it.
  • Images: Click or tap the gray blurred image to remove the blur. The image stays visible until you navigate away.

There is no way to permanently disable spoiler tags server-wide as a reader. Each spoiler must be clicked individually to reveal it.


Spoilers Not Working on Discord? Try These Fixes

Common Issues

  • You are using the wrong character. Spoilers use the pipe character (|), not a capital I, lowercase L, or forward slash. The pipe is a straight vertical line, usually above the Enter key.
  • You used single pipes instead of double. |text| with a single pipe does nothing on Discord. You need two on each side: ||text||.
  • There is a space between the pipes and the text. || text || still works in most cases, but it looks messy. Keep it tight: ||text||.
  • You are inside a code block. Spoiler formatting does not render inside code blocks. The || will show up as literal pipes.
  • The image spoiler option is not showing. Make sure you are looking at the preview screen before sending. The spoiler toggle is usually below the image preview, not in the main chat input.

Spoiler Discord FAQ

How do I spoiler text on Discord without pipes?
Select the text and right-click (desktop) or tap the formatting toolbar (mobile) and choose Mark as Spoiler. Discord wraps it in || for you automatically.
How do I send a spoiler image on Discord?
Upload the image and toggle the Mark as Spoiler option in the preview screen before sending. You can also rename the file to start with SPOILER_ (e.g. SPOILER_scene.jpg) and Discord will auto-spoil it.
Can I spoiler text on Discord mobile?
Yes. Select the text and tap the spoiler option in the formatting toolbar. If the toolbar does not appear, type ||text|| manually around your words.
How do I reveal a spoiler on Discord without clicking?
There is no way to reveal all spoilers at once. Each spoiler must be clicked or tapped individually to reveal it. This is by design so readers control what they see.
Can I spoiler text inside a code block?
No. Spoiler formatting does not work inside code blocks. The pipes will show up as literal characters. Place spoilers outside code blocks for them to render correctly.
Why is my spoiler showing the pipes instead of hiding the text?
You likely used single pipes (|) instead of double pipes (||), or you are inside a code block. Make sure there are two pipe characters on each side with no backticks around them.