fontconversion.txt In Linux the major font converter is iconv. It is one of the oldest and best. It is not often loaded by default. The normal method to load is: sudo apt-get install iconv I tend to make quick scripts I can remember to use it: #!/bin/bash # u2a - convert UTF-8 to CP437 (ANSI) iconv -f UTF-8 -t 437 "$1" -o "$2" #!/bin/bash # a2u - convert ANSI (CP437) to UTF-8 iconv -f 437 -t UTF-8 "$1" -o "$2" You can see the format in the bash scripts. Another way is python: #!/usr/bin/env python # https://gist.github.com/inky/471524 # u2c.py import codecs, sys try: infile, outfile = sys.argv[1], sys.argv[2] except IndexError: sys.stderr.write('usage: %s input_file output_file\n' % sys.argv[0]) sys.exit(1) nfo = codecs.open(infile, encoding='utf-8').read() codecs.open(outfile, 'w', encoding='cp437').write(nfo) The reverse would be: #!/usr/bin/env python # https://gist.github.com/inky/471524 # c2u.py import codecs, sys try: infile, outfile = sys.argv[1], sys.argv[2] except IndexError: sys.stderr.write('usage: %s input_file output_file\n' % sys.argv[0]) sys.exit(1) # switched utf-8 & cp437 to convert back nfo = codecs.open(infile, encoding='cp437').read() codecs.open(outfile, 'w', encoding='utf-8').write(nfo) They are python scripts, but could be done the same in normal python: # c2u.py # https://gist.github.com/inky/471524 import codecs, sys try: infile, outfile = sys.argv[1], sys.argv[2] except IndexError: sys.stderr.write('usage: %s input_file output_file\n' % sys.argv[0]) sys.exit(1) # switched utf-8 & cp437 to convert back nfo = codecs.open(infile, encoding='cp437').read() codecs.open(outfile, 'w', encoding='utf-8').write(nfo) The script header '#!/usr/bin/env python' makes it work like #!/bin/bash makes bash scripts work. It tells the OS where to get the program to make the scripts run. Without the header you need to run it under python. As you see the most common thing I do is cp437 to ANSI and back again. This is because I use BBS [Bulliten Board System(s)] which mainly use old DOS cp437 ANSI character set, but most modern systems use UTF-8. So I convert between them a lot. All other fonts can be converted between using these methods. iconv is the smartest converter with the most error handling, so the best way. The python just shows basic python programming.