iconv command in Linux with Examples

iconv command is used to convert some text in one encoding into another encoding. If no input file is provided then it reads from standard input. Similarly, if no output file is given then it writes to standard output. If no from-encoding or to-encoding is provided then it uses current local’s character encoding.


iconv [options] [-f from-encoding] [-t to-encoding] [inputfile]...


  • -f from-encoding, –from-code=from-encoding : Use from-encoding for input characters.
  • -t to-encoding, –to-code=to-encoding : Use to-encoding for output characters.
  • -l, –list : List all known character set encodings.
  • -c : Silently discard characters that cannot be converted instead of terminating when encountering such characters.
  • -o outputfile, –output=outputfile : Use outputfile for output.
  • –verbose : Print progress information on standard error when processing multiple files.


  • 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 that cannot be represented in the target character set, it can be approximated through one or several similar looking characters.


  • To convert from UTF-8 to ASCII :
    echo abc ß ? € à?ç | iconv -f UTF-8 -t ASCII//TRANSLIT

  • Print the list of all character set encodings :
    iconv -l

  • Reading and writing from a file :
    iconv -f UTF-8 -t ASCII//TRANSLIT -o out.txt in.txt

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.