# man > iconv(1)

> **TLDR:** Convert text from one encoding to another.
>
- Convert file to a specific encoding, and print to `stdout`:
  `iconv {{-f|--from-code}} {{from_encoding}} {{-t|--to-code}} {{to_encoding}} {{input_file}}`
- Convert file to the current locale's encoding, and output to a file:
  `iconv {{-f|--from-code}} {{from_encoding}} {{input_file}} > {{output_file}}`
- List supported encodings:
  `iconv {{-l|--list}}`

*Source: tldr-pages*

---

[_iconv_(1)](https://www.chedong.com/phpMan.php/man/iconv/1/markdown)                               General Commands Manual                              [_iconv_(1)](https://www.chedong.com/phpMan.php/man/iconv/1/markdown)

## NAME
       iconv - convert text from one character encoding to another

## SYNOPSIS
       **iconv **[_options_] [-f _from-encoding_] [-t _to-encoding_] [_inputfile_]...

## DESCRIPTION
       The **iconv **program reads in text in one encoding and outputs the text in another encoding.  If
       no  input  files are given, or if it is given as a dash (-), **iconv **reads from standard input.
       If no output file is given, **iconv **writes to standard output.

       If no _from-encoding_ is given, the default is derived from the current locale's character  en‐
       coding.  If no _to-encoding_ is given, the default is derived from the current locale's charac‐
       ter encoding.

## OPTIONS
       **--from-code=_**from-encoding_
### -f _
              Use _from-encoding_ for input characters.

       **--to-code=_**to-encoding_
### -t _
              Use _to-encoding_ for output characters.

              If the string **//IGNORE **is appended to _to-encoding_, characters that cannot be converted
              are discarded and an error is printed after conversion.

              If  the  string  **//TRANSLIT **is appended to _to-encoding_, characters being converted are
              transliterated when needed and possible.  This means that when a character  cannot  be
              represented in the target character set, it can be approximated through one or several
              similar  looking  characters.  Characters that are outside of the target character set
              and cannot be transliterated are replaced with a question mark (?) in the output.

### --list
### -l     

### -c     
              countering such characters.

       **--output=_**outputfile_
### -o _
              Use _outputfile_ for output.

### --silent
### -s     

### --verbose
              Print progress information on standard error when processing multiple files.

### --help
       **-?     **Print a usage summary and exit.

### --usage
              Print a short usage summary and exit.

### --version
### -V     

## EXIT STATUS
       Zero on success, nonzero on errors.

## ENVIRONMENT
       Internally,  the  **iconv  **program  uses the [**iconv**(3)](https://www.chedong.com/phpMan.php/man/iconv/3/markdown) function which in turn uses _gconv_ modules
       (dynamically loaded shared libraries) to convert to and from a character set.  Before calling
       [**iconv**(3)](https://www.chedong.com/phpMan.php/man/iconv/3/markdown), the **iconv **program must first allocate a conversion descriptor using  [**iconv_open**(3)](https://www.chedong.com/phpMan.php/man/iconvopen/3/markdown).
       The  operation of the latter function is influenced by the setting of the **GCONV_PATH **environ‐
       ment variable:

       •  If **GCONV_PATH **is not set, [**iconv_open**(3)](https://www.chedong.com/phpMan.php/man/iconvopen/3/markdown) loads the system gconv module configuration  cache
          file  created by [**iconvconfig**(8)](https://www.chedong.com/phpMan.php/man/iconvconfig/8/markdown) and then, based on the configuration, loads the gconv mod‐
          ules needed to perform the conversion.  If the system  gconv  module  configuration  cache
          file is not available then the system gconv module configuration file is used.

       •  If **GCONV_PATH **is defined (as a colon-separated list of pathnames), the system gconv module
          configuration  cache is not used.  Instead, [**iconv_open**(3)](https://www.chedong.com/phpMan.php/man/iconvopen/3/markdown) first tries to load the configu‐
          ration files by searching the directories in **GCONV_PATH **in order, followed by  the  system
          default  gconv  module configuration file.  If a directory does not contain a gconv module
          configuration file, any gconv modules that it may contain are  ignored.   If  a  directory
          contains  a  gconv module configuration file and it is determined that a module needed for
          this conversion is available in the directory, then the needed module is loaded from  that
          directory,  the  order  being  such  that the first suitable module found in **GCONV_PATH **is
          used.  This allows users to use custom modules and even replace system-provided modules by
          providing such modules in **GCONV_PATH **directories.

## FILES
       _/usr/lib/gconv_
              Usual default gconv module path.

       _/usr/lib/gconv/gconv-modules_
              Usual system default gconv module configuration file.

       _/usr/lib/gconv/gconv-modules.cache_
              Usual system gconv module configuration cache.

       Depending on the architecture, the above files may instead be located at directories with the
       path prefix _/usr/lib64_.

## STANDARDS
       POSIX.1-2008.

## HISTORY
       POSIX.1-2001.

## EXAMPLES
       Convert text from the ISO/IEC 8859-15 character encoding to UTF-8:

           $ **iconv -f ISO-8859-15 -t UTF-8 < input.txt > output.txt**

       The next example converts from UTF-8 to ASCII, transliterating when possible:

           $ **echo abc ß α € àḃç | iconv -f UTF-8 -t ASCII//TRANSLIT**
           abc ss ? EUR abc

## SEE ALSO
       [**locale**(1)](https://www.chedong.com/phpMan.php/man/locale/1/markdown), [**uconv**(1)](https://www.chedong.com/phpMan.php/man/uconv/1/markdown), [**iconv**(3)](https://www.chedong.com/phpMan.php/man/iconv/3/markdown), [**nl_langinfo**(3)](https://www.chedong.com/phpMan.php/man/nllanginfo/3/markdown), [**charsets**(7)](https://www.chedong.com/phpMan.php/man/charsets/7/markdown), [**iconvconfig**(8)](https://www.chedong.com/phpMan.php/man/iconvconfig/8/markdown)

Linux man-pages 6.7                          2024-01-28                                     [_iconv_(1)](https://www.chedong.com/phpMan.php/man/iconv/1/markdown)
