/TOOL · CENSOR TEXT

Censor and Redact Text, Black Bars You Can Copy and Paste

Type something and it comes back covered. The result is ordinary characters, not an image and not markup, so it pastes into Discord, WhatsApp, Instagram, Slack, email or anywhere else that takes text. Cover the whole thing, keep the first and last letter so the word is still guessable, or hide the numbers and leave the words alone. Nothing you type leaves this page.

Type or paste what you want covered

Edit the left panel. The right panel updates as you type, and nothing is sent anywhere.

Choose how much to cover

Three jobs. Pick the one that matches why you are hiding this.

Cover with
Spaces Leaving spaces alone keeps the word count readable, which is usually what you want. Covering them hides how many words there were.

Copy the result

Plain characters. They survive copy and paste into anything.

what you typed

After what other people get

Runs in your browser

/COPY AND PASTE

Censor characters, ready to copy

If you only want the character itself rather than the tool, here they are. Each one is a normal Unicode character, so it works in any app that takes text, and it keeps working when the text is quoted, forwarded or exported.

CharacterNameCodeLooks likeBest for
█Full blockU+2588██████The standard censor bar. Solid, no gaps between characters.
▓Dark shadeU+2593▓▓▓▓▓▓Slightly softer bar when a solid black feels too harsh.
▒Medium shadeU+2592▒▒▒▒▒▒A visible but light cover. Reads as "removed", not "blacked out".
▮Black vertical rectangleU+25AE▮▮▮▮▮▮Narrower bar with small gaps, closer to redacted print.
●Black circleU+25CF●●●●●●The password-field look. Reads as hidden rather than deleted.
*AsteriskU+002A******Universally understood, and safe in places that mangle box characters.
#Number signU+0023######Common for masked digits. Careful on platforms where it starts a tag.

Select a character and copy it, or use the tool above to cover a whole sentence at once. If a character shows as an empty box somewhere, that app is missing the glyph in its font: the asterisk is the safe fallback.

/THE IMPORTANT PART

Why a block character is safer than a blur

This is the one thing worth understanding before you cover anything that matters.

Blurring averages. It does not delete.

A blur or a pixelation takes the pixels that were there and smears them together. The information is still present in the image, just rearranged, and text has been recovered from both blurred and pixelated screenshots in practice. A blur is a good way to say "there is a field here". It is a bad way to hide what the field said.

Replacing characters removes them.

When this tool covers your text, the original letters are not underneath the blocks. They are gone from the string entirely. There is no averaging, no residue and nothing to reverse, because what you copy is literally a run of block characters and nothing else.

So use each for the right job.

Covering text you are about to post: block characters, every time. Covering part of a screenshot: use a solid block, not a blur, and our blur and screenshot tool defaults to a solid block for exactly this reason. Making something look hazy for style: a blur is fine, because nothing is at stake.

And do not paste live secrets anywhere.

Everything here runs in your browser and nothing is uploaded, so your text does not leave your device. Even so, the safest handling of a real password, card number or token is not to put it into any tool, including this one. Censor the copy you are about to publish, not the live credential.

/THREE WAYS TO COVER

How much to hide

Covering everything is not always right. These are the three patterns people actually use, and when each one fits.

SettingInputOutputUse it when
Everything Marcus Webb ██████ ████ The content must not be guessable at all. Names, addresses, anything identifying.
Keep first + last Marcus Webb M████s W██b You want people who already know to recognise it, and nobody else to. Common in changelogs and public incident notes.
Numbers only Order 4471 ships Friday Order ████ ships Friday The sentence has to stay readable but a reference, card, phone or order number must not. This is the most common one in support screenshots.

/WHERE IT WORKS

It pastes anywhere text goes

Because the output is characters rather than markup or an image, nothing needs to support a spoiler feature for it to display correctly.

/FAQ

Common questions

What character is used for a censor bar?
The full block, U+2588 (█), is the standard. It renders as a filled rectangle in almost every font, so a run of them reads as one unbroken bar with no gaps between characters. The dark shade ▓ and medium shade ▒ are lighter alternatives when solid black feels too heavy. Asterisks and hashes work everywhere but leave visible spacing, which makes the covered text easier to count and therefore easier to guess at.
Can censored text be uncovered?
No. The original characters are replaced, not hidden behind something, so they are simply not present in what you copy. This is the important difference from blurring or pixelating a screenshot, where the original pixels are averaged rather than removed and text has been recovered from both in practice. If what you are hiding would hurt to leak, replacing characters is the safer method.
Should I cover the spaces too?
Usually not. Leaving spaces visible keeps the word count readable, which is normally what you want when the point is that something was removed rather than that nothing was ever there. Cover the spaces when you also want to hide how many words there were, for example when the length itself would give it away.
Does censored text work on Discord, WhatsApp and Instagram?
Yes, and anywhere else plain text works, including Slack, X, email, documents and code comments. Block characters are ordinary Unicode, not markup, so no platform support is required. If you want a tap to reveal spoiler on Discord or Reddit instead of a permanent cover, that is a different job and the spoiler tool writes the markup for you.
How do I censor only the numbers in a line of text?
Set the scope to Numbers only. Every digit is replaced and all letters and punctuation stay exactly as you typed them, so Order 4471 ships Friday becomes Order ████ ships Friday. This is the usual way to show an order reference, card number or phone number in a screenshot without exposing it.
Is anything I type sent to a server?
No. The whole tool is JavaScript running inside this page. There is no upload, no API call and no logging of what you type, and you can confirm that by opening your browser network tab while you use it. That said, the safest handling of a real password or card number is not to paste it into any tool at all, including this one. Censor the copy you are about to publish, not the live credential.
Why does the block show as an empty rectangle?
That application is missing the glyph in its font. It is rare, but it happens on some older Android keyboards and in a few terminal fonts. Use the asterisk instead, which exists in every font ever made, or the dark shade ▓, which has wider support than the full block.
Can I censor text inside an image?
Not here, this tool works on text. For a screenshot, use the screenshot tool and pick the solid block cover, which paints over the pixels rather than averaging them. Avoid blur and pixelate for anything sensitive, for the reason in the second question above.

/DO MORE WITH ASCII MAGIC

Censoring hides a picture. ASCII Magic rebuilds one.

The studio behind this page turns images and video into ASCII, pixel art, dither, halftone, voxel and glitch. No signup, no upload, export PNG, GIF or MP4.

Open the editor →

/RELATED

More text tools

This page covers text. To cover part of a screenshot, use the screenshot tool. To turn a photo into characters, open the full studio.