Control Character Remover

Remove C0, DELETE and C1 control characters while optionally preserving tabs and line breaks. Inspect every removed code point before copying the cleaned text.

Processed locally in your browser
Characters to remove
Characters to preserve

Normalizing line endings takes precedence over the carriage-return option: CR and CRLF are converted to LF first, then the resulting LF follows the line-break preservation setting.

Remove deletes selected controls, space replacement inserts U+0020 SPACE, and visible markers show the code point and Unicode name for review.

The original input is preserved. Character position is one-based and counts Unicode code points.

Remove control characters from text online

This control character remover scans text by Unicode code point, removes selected C0 controls, removes U+007F DELETE, and removes selected C1 controls. It preserves tabs and line breaks by default, can normalize line endings, and can replace removed controls with spaces or visible markers instead of deleting them. Printable Unicode is preserved exactly, and every control-character action is shown in the log below. Cleaning runs locally in the browser.

Control character removal example

Rendered input (contains a real BELL and a real TAB):

Hello world
Keep	this line

Escaped representation:

Hello\u0007 world\nKeep\tthis line

Expected cleaned output with defaults:

Hello world
Keep	this line

Expected summary with defaults: characters removed 1, C0 controls removed 1, tabs preserved 1, line breaks preserved 1. The removed code point is U+0007 BELL.

What are C0 control characters?

C0 controls occupy U+0000 through U+001F. These characters originated in ASCII and terminal or control protocols. Some are common in everyday text, especially U+0009 TAB, U+000A LINE FEED and U+000D CARRIAGE RETURN. Others, such as U+0000 NULL, U+0007 BELL, U+0008 BACKSPACE and U+001B ESCAPE, can cause problems in text processing, logs or file formats. This tool preserves tabs and line breaks by default while removing other selected C0 controls.

What are C1 control characters?

C1 controls occupy U+0080 through U+009F. They are control codes rather than ordinary printable text. Some, such as U+0085 NEXT LINE and U+009B CONTROL SEQUENCE INTRODUCER, may appear because of legacy encodings or damaged text. Removing them can help when cleaning imported or copied data. Not every code point in this range is visually distinguishable, so review is still recommended.

Preserve tabs and line breaks

U+0009 TAB may carry useful layout information, and U+000A LINE FEED represents a line break. U+000D CARRIAGE RETURN may be part of a CRLF pair or appear alone. This tool preserves tabs and line breaks by default. Optional line-ending normalization converts CRLF and lone CR to LF as a single logical change rather than counting the CR and LF separately. Removing line breaks can merge content and should be a deliberate choice.

Control characters vs invisible characters

C0, DELETE and C1 are control-character ranges. Zero-width and bidirectional format characters, such as U+200B ZERO WIDTH SPACE, U+200C ZERO WIDTH NON-JOINER, U+200D ZERO WIDTH JOINER, U+2060 WORD JOINER and U+00AD SOFT HYPHEN, are Unicode format characters instead, and they require different review and cleanup rules. This tool does not remove format characters by default. To inspect zero-width and formatting characters, use the Invisible Character Detector. For broader cleanup, use the Unicode Text Cleaner.

Removal, replacement and visible markers

Remove mode deletes selected control characters. Space mode preserves visual separation without showing the control character. Visible-marker mode displays the code point and Unicode name, such as ⟦U+0007 BELL⟧, for debugging. Marker output is diagnostic and may not be suitable as final cleaned text. The original input is never changed by any mode.

How to use the remover

  1. Paste or type text into the input field.
  2. Select the C0, DELETE and C1 groups to clean.
  3. Choose whether to preserve tabs and line breaks.
  4. Select removal, space replacement or visible markers.
  5. Run the control-character remover.
  6. Review the cleaned text and action log before copying it.

Common use cases

Privacy and local processing

Cleaning runs with JavaScript directly in your browser. Your pasted text is not submitted to UnicodeNow servers.

Frequently asked questions

What is a control character?

A control character is a Unicode code point that represents a control function rather than a printable symbol, such as NULL, BELL, ESCAPE or DELETE. This tool targets the C0, DELETE and C1 control ranges.

Which control characters does the tool remove?

By default it removes C0 controls (U+0000–U+001F) and U+007F DELETE and C1 controls (U+0080–U+009F), while preserving tabs and line breaks.

What are C0 control characters?

C0 controls occupy U+0000 through U+001F. They come from ASCII and terminal protocols. TAB, LINE FEED and CARRIAGE RETURN are commonly used; others such as NULL, BELL and ESCAPE can cause text-processing problems.

What are C1 control characters?

C1 controls occupy U+0080 through U+009F. They are control codes rather than printable text and often appear because of legacy encodings or damaged text.

Does it remove tabs?

Not by default. U+0009 TAB is preserved when "Preserve tabs" is enabled, even though TAB falls inside the C0 range.

Does it preserve line breaks?

Yes by default. U+000A LINE FEED is preserved when "Preserve line breaks" is enabled. CRLF and lone CR can be normalized to LF first.

What is U+007F DELETE?

DELETE is a single control character outside the C0 and C1 ranges, historically used to mark a character for deletion on punched tape. It is removed by default and can be preserved separately.

Are zero-width characters control characters?

No. Zero-width spaces, joiners and similar characters are Unicode format characters (general category Cf), not C0/C1 controls, and this tool does not remove them by default. Use the Invisible Character Detector and Remover for those.

Can removed characters be replaced with spaces?

Yes. Space replacement mode replaces each selected control character with U+0020 SPACE instead of deleting it.

What is visible-marker mode?

Visible-marker mode replaces each selected control character with a printable diagnostic token showing its code point and Unicode name, such as ⟦U+0007 BELL⟧. It is meant for review, not as final cleaned text.

Is my text sent to a server?

No. Cleaning runs with JavaScript directly in your browser; your pasted text is not submitted to UnicodeNow servers.

Related tools

To inspect zero-width and formatting characters, use the Invisible Character Detector. For broader cleanup, use the Unicode Text Cleaner. For copied PDF text, use Clean Copied PDF Text.

Unicode Text Cleaner

Normalize, trim and clean problematic Unicode text safely.

Text CleaningProcessed locally

Whitespace Normalizer

Normalize tabs, special spaces, duplicate spaces and line endings.

Text CleaningProcessed locally

Clean Copied PDF Text

Repair common spacing, hyphenation and line-break issues from copied PDF text.

Text CleaningProcessed locally