{
    "mode": "man",
    "parameter": "recode",
    "section": "1",
    "url": "https://www.chedong.com/phpMan.php/man/recode/1/json",
    "generated": "2026-06-02T22:31:29Z",
    "synopsis": "recode [OPTION]... [ [CHARSET] | REQUEST [FILE]... ]",
    "sections": {
        "NAME": {
            "content": "recode - converts files between character sets\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "recode [OPTION]... [ [CHARSET] | REQUEST [FILE]... ]\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "Free `recode' converts files between various character sets and surfaces.\n\nIf  a  long  option  shows  an argument as mandatory, then it is mandatory for the equivalent\nshort option also.  Similarly for optional arguments.\n",
            "subsections": [
                {
                    "name": "Listings:",
                    "content": ""
                },
                {
                    "name": "-l --list",
                    "content": "list one or all known charsets and aliases\n",
                    "flag": "-l",
                    "long": "--list"
                },
                {
                    "name": "-k --known",
                    "content": "restrict charsets according to known PAIRS list\n",
                    "flag": "-k",
                    "long": "--known"
                },
                {
                    "name": "-h --header[",
                    "content": "write table NAME on stdout using LN, then exit\n",
                    "flag": "-h"
                },
                {
                    "name": "-F --freeze-tables",
                    "content": "write out a C module holding all tables\n",
                    "flag": "-F",
                    "long": "--freeze-tables"
                },
                {
                    "name": "-T --find-subsets",
                    "content": "report all charsets being subset of others\n",
                    "flag": "-T",
                    "long": "--find-subsets"
                },
                {
                    "name": "-C --copyright",
                    "content": "display Copyright and copying conditions\n\n--help display this help and exit\n",
                    "flag": "-C",
                    "long": "--copyright"
                },
                {
                    "name": "--version",
                    "content": "output version information and exit\n",
                    "long": "--version"
                },
                {
                    "name": "Operation modes:",
                    "content": ""
                },
                {
                    "name": "-v --verbose",
                    "content": "explain sequence of steps and report progress\n",
                    "flag": "-v",
                    "long": "--verbose"
                },
                {
                    "name": "-q --quiet --silent",
                    "content": "inhibit messages about irreversible recodings\n",
                    "flag": "-q",
                    "long": "--silent"
                },
                {
                    "name": "-f --force",
                    "content": "force recodings even when not reversible\n",
                    "flag": "-f",
                    "long": "--force"
                },
                {
                    "name": "-t --touch",
                    "content": "touch the recoded files after replacement\n",
                    "flag": "-t",
                    "long": "--touch"
                },
                {
                    "name": "-i --sequence",
                    "content": "use intermediate files for sequencing passes\n\n--sequence=memory\nuse memory buffers for sequencing passes\n",
                    "flag": "-i",
                    "long": "--sequence"
                },
                {
                    "name": "-p --sequence",
                    "content": "use pipe machinery for sequencing passes\n",
                    "flag": "-p",
                    "long": "--sequence"
                },
                {
                    "name": "Fine tuning:",
                    "content": ""
                },
                {
                    "name": "-s --strict",
                    "content": "use strict mappings, even loose characters\n",
                    "flag": "-s",
                    "long": "--strict"
                },
                {
                    "name": "-d --diacritics",
                    "content": "convert only diacritics or alike for HTML/LaTeX\n",
                    "flag": "-d",
                    "long": "--diacritics"
                },
                {
                    "name": "-S --source",
                    "content": "limit recoding to strings and comments as for LN\n",
                    "flag": "-S",
                    "long": "--source"
                },
                {
                    "name": "-c --colons",
                    "content": "use colons instead of double quotes for diaeresis\n",
                    "flag": "-c",
                    "long": "--colons"
                },
                {
                    "name": "-g --graphics",
                    "content": "approximate IBMPC rulers by ASCII graphics\n",
                    "flag": "-g",
                    "long": "--graphics"
                },
                {
                    "name": "-x --ignore",
                    "content": "ignore CHARSET while choosing a recoding path\n\nOption -l with no FORMAT nor CHARSET list available charsets and surfaces.  FORMAT is  `deci‐\nmal',  `octal', `hexadecimal' or `full' (or one of `dohf').  Unless DEFAULTCHARSET is set in\nenvironment, CHARSET defaults  to  the  locale  dependent  encoding,  determined  by  LCALL,\nLCCTYPE,  LANG.   With  -k, possible before charsets are listed for the given after CHARSET,\nboth being tabular charsets, with PAIRS of the form `BEF1:AFT1,BEF2:AFT2,...'  and  BEFs  and\nAFTs being codes are given as decimal numbers.  LN is some language, it may be `c', `perl' or\n`po'; `c' is the default.\n\nREQUEST is SUBREQUEST[,SUBREQUEST]...; SUBREQUEST  is  ENCODING[..ENCODING]...   ENCODING  is\n[CHARSET][/[SURFACE]]...; REQUEST often looks like BEFORE..AFTER, with BEFORE and AFTER being\ncharsets.  An omitted CHARSET implies the usual charset; an omitted [/SURFACE]...  means  the\nimplied  surfaces  for CHARSET; a / with an empty surface name means no surfaces at all.  See\nthe manual.\n\nIf none of -i and -p are given, presume -p if no FILE, else -i.  Each FILE  is  recoded  over\nitself,  destroying  the  original.  If no FILE is specified, then act as a filter and recode\nstdin to stdout.\n",
                    "flag": "-x",
                    "long": "--ignore"
                }
            ]
        },
        "AUTHOR": {
            "content": "Written by Franc,ois Pinard <pinard@iro.umontreal.ca>.\n",
            "subsections": []
        },
        "REPORTING BUGS": {
            "content": "Report bugs to <recode-bugs@iro.umontreal.ca>.\n",
            "subsections": []
        },
        "COPYRIGHT": {
            "content": "Copyright © 1990, 92, 93, 94, 96, 97, 99 Free Software Foundation, Inc.\nThis is free software; see the source for copying conditions.  There is NO warranty; not even\nfor MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n",
            "subsections": []
        },
        "SEE ALSO": {
            "content": "The  full documentation for recode is maintained as a Texinfo manual.  If the info and recode\nprograms are properly installed at your site, the command\n\ninfo recode\n\nshould give you access to the complete manual.\n\n\n\nFree recode 3.6                             January 2001                                   RECODE(1)",
            "subsections": []
        }
    },
    "summary": "recode - converts files between character sets",
    "flags": [
        {
            "flag": "-l",
            "long": "--list",
            "arg": null,
            "description": "list one or all known charsets and aliases"
        },
        {
            "flag": "-k",
            "long": "--known",
            "arg": null,
            "description": "restrict charsets according to known PAIRS list"
        },
        {
            "flag": "-h",
            "long": "--header",
            "arg": null,
            "description": "write table NAME on stdout using LN, then exit"
        },
        {
            "flag": "-F",
            "long": "--freeze-tables",
            "arg": null,
            "description": "write out a C module holding all tables"
        },
        {
            "flag": "-T",
            "long": "--find-subsets",
            "arg": null,
            "description": "report all charsets being subset of others"
        },
        {
            "flag": "-C",
            "long": "--copyright",
            "arg": null,
            "description": "display Copyright and copying conditions --help display this help and exit"
        },
        {
            "flag": "",
            "long": "--version",
            "arg": null,
            "description": "output version information and exit"
        },
        {
            "flag": "-v",
            "long": "--verbose",
            "arg": null,
            "description": "explain sequence of steps and report progress"
        },
        {
            "flag": "-q",
            "long": "--silent",
            "arg": null,
            "description": "inhibit messages about irreversible recodings"
        },
        {
            "flag": "-f",
            "long": "--force",
            "arg": null,
            "description": "force recodings even when not reversible"
        },
        {
            "flag": "-t",
            "long": "--touch",
            "arg": null,
            "description": "touch the recoded files after replacement"
        },
        {
            "flag": "-i",
            "long": "--sequence",
            "arg": null,
            "description": "use intermediate files for sequencing passes --sequence=memory use memory buffers for sequencing passes"
        },
        {
            "flag": "-p",
            "long": "--sequence",
            "arg": null,
            "description": "use pipe machinery for sequencing passes"
        },
        {
            "flag": "-s",
            "long": "--strict",
            "arg": null,
            "description": "use strict mappings, even loose characters"
        },
        {
            "flag": "-d",
            "long": "--diacritics",
            "arg": null,
            "description": "convert only diacritics or alike for HTML/LaTeX"
        },
        {
            "flag": "-S",
            "long": "--source",
            "arg": null,
            "description": "limit recoding to strings and comments as for LN"
        },
        {
            "flag": "-c",
            "long": "--colons",
            "arg": null,
            "description": "use colons instead of double quotes for diaeresis"
        },
        {
            "flag": "-g",
            "long": "--graphics",
            "arg": null,
            "description": "approximate IBMPC rulers by ASCII graphics"
        },
        {
            "flag": "-x",
            "long": "--ignore",
            "arg": null,
            "description": "ignore CHARSET while choosing a recoding path Option -l with no FORMAT nor CHARSET list available charsets and surfaces. FORMAT is `deci‐ mal', `octal', `hexadecimal' or `full' (or one of `dohf'). Unless DEFAULTCHARSET is set in environment, CHARSET defaults to the locale dependent encoding, determined by LCALL, LCCTYPE, LANG. With -k, possible before charsets are listed for the given after CHARSET, both being tabular charsets, with PAIRS of the form `BEF1:AFT1,BEF2:AFT2,...' and BEFs and AFTs being codes are given as decimal numbers. LN is some language, it may be `c', `perl' or `po'; `c' is the default. REQUEST is SUBREQUEST[,SUBREQUEST]...; SUBREQUEST is ENCODING[..ENCODING]... ENCODING is [CHARSET][/[SURFACE]]...; REQUEST often looks like BEFORE..AFTER, with BEFORE and AFTER being charsets. An omitted CHARSET implies the usual charset; an omitted [/SURFACE]... means the implied surfaces for CHARSET; a / with an empty surface name means no surfaces at all. See the manual. If none of -i and -p are given, presume -p if no FILE, else -i. Each FILE is recoded over itself, destroying the original. If no FILE is specified, then act as a filter and recode stdin to stdout."
        }
    ],
    "examples": [],
    "see_also": []
}