RECODE(1)
๐ RECODE(1) โ or, how to glow-up your files between charsets โจ
ok so bestie, quick intro before we dive in: this is the recode manual page, straight from the User Commands section of the manual. It's giving "quiet little utility that actually carries the whole charset-conversion operation on its back." ๐ซถ
๐ธ NAME ๐ธ
recode โ converts files between character sets. that's it, that's the whole vibe. literally a charset translator for your files. ๐
โจ SYNOPSIS โจ
recode [OPTION]... [ [CHARSET] | REQUEST [FILE]... ]
๐ฆ DESCRIPTION ๐ฆ
Recode converts files between various character sets and surfaces. iconic behavior, no notes. ๐
๐ real talk though: if a long option shows an argument as mandatory, then it's mandatory for the equivalent short option too. same deal for optional arguments โ they stay optional for both. the rules do NOT switch up on you, periodt.
๐ Listings:
-l,--list[=FORMAT]โ lists one charset or literally all the known charsets and aliases. very "let me show you around" energy. ๐-k,--known=PAIRSโ restricts charsets according to the knownPAIRSlist. gatekeeping, but make it useful.-h,--header[=[LN/]NAME]โ writes tableNAMEon stdout usingLN, then exits. write it and dip. ๐-T,--find-subsetsโ reports all charsets that are a subset of others. exposing the nepo babies of charset land ๐-C,--copyrightโ displays copyright and copying conditions. legal era.--helpโ displays this help and exits. classic.--versionโ outputs version information and exits. also classic.
๐ Operation modes:
-v,--verboseโ explains the sequence of steps and reports progress. main character energy: it narrates its own life. ๐ค-q,--quiet,--silentโ inhibits messages about irreversible recodings. shhh, we're being mysterious now. ๐-f,--forceโ forces recodings even when they're not reversible. dangerous? slay? both tbh. ๐ฅ-t,--touchโ touches the recoded files after replacement. little pat on the head afterwards, cute. ๐ซถ-i,-p,--sequence=STRATEGYโ ignored, for backwards compatibility. it's just here for the memories. ๐
๐ง Fine tuning:
-s,--strictโ uses strict mappings; discards untranslatable characters. ruthless. ๐-d,--diacriticsโ converts only diacritics and special characters, for HTML/LaTeX/BibTeX. the niche little accent specialist we stan. ๐-S,--source[=LN]โ limits recoding to strings and comments, as forLN. only touching the parts that matter.-c,--colonsโ uses colons instead of double quotes for diaeresis. a stylistic choice, honestly. โจ-g,--graphicsโ approximates IBMPC rulers with ASCII graphics. lowkey doing arts and crafts in here. ๐จ-x,--ignore=CHARSETโ ignoresCHARSETwhen choosing a recoding path. not her, not today. ๐ โโ๏ธ-I,--prefer-iconvโ usesiconvif possible. if the better tool's available, obviously we're using it. ๐
ok so here's the lore you actually need, bestie ๐
Option -l with no FORMAT and no CHARSET lists the available charsets and surfaces. FORMAT is decimal, octal, hexadecimal or full (or one of dohf โ yes, those are the shorthand, iykyk). Unless DEFAULT_CHARSET is set in the environment, CHARSET defaults to the locale dependent encoding, determined by LC_ALL, LC_CTYPE, LANG. With -k, the possible before charsets are listed for the given after CHARSET โ both of them being tabular charsets โ with PAIRS of the form BEF1:AFT1,BEF2:AFT2,... and the BEFs and AFTs being codes 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. ๐
โ ๏ธ heads up, this one's serious: eachFILEis recoded over itself, destroying the original. no undo, no recycling bin, no "wait I had that open." ๐ญ if noFILEis specified, then it acts as a filter and recodes stdin to stdout โ safe and cozy, no files harmed. ๐ธ
๐ซถ MAINTAINER ๐ซถ
Maintained by Reuben Thomas <rrt@sc3d.org>.
๐ AUTHOR ๐
Written by Franรงois Pinard <pinard@iro.umontreal.ca>.
๐ REPORTING BUGS ๐
Report bugs at https://github.com/rrthomas/recode.
โญ COPYRIGHT โญ
Copyright ยฉ 1990-2023 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is
NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.
like, no warranty bestie. none. not even for merchantability or fitness for a particular purpose. ๐ญ
๐ฅ SEE ALSO ๐ฅ
The full documentation for recode is maintained as a Texinfo manual. If the info and recode programs are properly installed at your site, the command
info recode
should give you access to the complete manual. go read it, it's giving director's cut. ๐
๐ and that's the whole page! this was recode version 3.7.17, dated October 2026, in the RECODE(1) section of the manual โ ok bye, go convert some charsets, you're gonna eat ๐
โจ
๐ฆ where this page comes from
- arch rolling: recode 3.7.17-1 ยท GPL-3.0-or-later AND LGPL-3.0-or-later
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms