---
name: "inline-detox"
section: "1"
platform: "linux"
package: "detox"
version: "3.0.1-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/inline-detox"
---

# inline-detox(1)

clean up filenames (stream-based)

## NAME

**inline-detox** – clean up filenames (stream-based)

## SYNOPSIS

**inline-detox** \[**-f** *configfile*\] \[**-s** *sequence*\] \[**-v**\]

**inline-detox** \[**-f** *configfile*\] \[**-s** *sequence*\] \[**-v**\] *file ...*

**inline-detox** \[**-L**\] \[**-f** *configfile*\] \[**-v**\]

**inline-detox** \[**-h** \| **--help**\]

**inline-detox** \[**-V**\]

## DESCRIPTION

The **inline-detox** utility generates new filenames to make them easier to work with under Linux and other Unix-like operating systems. It replaces characters that make it hard to type out a filename with dashes and underscores. It also provides transcoding-based filters, converting ISO-8859-1 or CP-1252 to UTF-8. An additional filter unescapes CGI-escaped filenames.

**inline-detox** reads filename(s) from the input stream and writes the updated filename(s) to the output stream.

If a filename is passed on the command line, **inline-detox** reads this file and processes each line before writing it to the output stream.

Running **detox** **--inline** is identical to running **inline-detox**.

### Sequences

**inline-detox** is driven by a configurable series of filters, called a sequence. Sequences are covered in more detail in [detoxrc(5)](/detoxrc/5.md) and are discoverable with the **-L** option. The default sequence will run the *safe* and *wipeup* filters. Other examples of pre-configured sequences are *iso8859\_1* and *iso8859\_1-legacy*, which both provide transcoding to UTF-8, and then finish with the *safe* and *wipeup* filters.

### Options

- **-f** *configfile*

  Use *configfile* instead of the default configuration files for loading translation sequences. No other config file will be parsed.

- **-h**, **--help**

  Display helpful information.

- **-L**

  List the currently available sequences. When paired with **-v** this option shows what filters are used in each sequence and any properties applied to the filters.

- **-s** *sequence*

  Use *sequence* instead of **default**.

- **-v**

  Be verbose about which files are being renamed.

- **-V**

  Show the current version of **inline-detox**.

## FILES

- */etc/detoxrc*

  The system-wide detoxrc file.

- *~/.detoxrc*

  A user's personal detoxrc. Normally it extends the system-wide *detoxrc*, unless **-f** has been specified, in which case, it is ignored.

- */usr/share/detox/cp1252.tbl*

  The provided CP-1252 transcoding table.

- */usr/share/detox/iso8859\_1.tbl*

  The provided ISO-8859-1 transcoding table.

- */usr/share/detox/safe.tbl*

  The provided safe character translation table.

- */usr/share/detox/unicode.tbl*

  The provided Unicode control character filtering table, used by the UTF-8 filter.

## EXAMPLES

- echo Foo Bar \| **inline-detox** **-s** *lower* **-v**

  Will run the sequence *lower*, listing any changes and returning the result to the output stream.

## SEE ALSO

[detox(1)](/detox/1.md), [detox.tbl(5)](/detox.tbl/5.md), [detoxrc(5)](/detoxrc/5.md), [ascii(7)](/ascii/7.md), [iso\_8859-1(7)](/iso_8859-1/7.md), [unicode(7)](/unicode/7.md), [utf-8(7)](/utf-8/7.md)

## HISTORY

**inline-detox** was originally designed to clean up files that I had received from friends which had been created using other operating systems. It's trivial to create a filename with spaces, parenthesis, brackets, and ampersands under some operating systems. These have special meaning within FreeBSD and Linux, and cause problems when you go to access them. I created **inline-detox** to clean up these files.

Version 2.0 stepped back from transliteration out of the box, instead focusing on ease of use. Version 3.0 further shifted this, by removing most of the transliteration from the tables. The primary motivations for this were user-provided feedback, and the fact that many modern Unix-like OSs use UTF-8 as their primary character set. Transliterating from UTF-8 to ASCII in this scenario is lossy and pointless.

## AUTHORS

**inline-detox** was written by Doug Harple.
