The project is discontinued. AFAIK OpenBSD is incorporating Citrus project which has iconv.

For those who want to play with source code: libiconv.tar.gz
$ pax -zr < libiconv.tar.gz
$ cd libiconv && make depend && make

For successful building you also need fsss.

Libiconv is the library that allows you to convert data from one encoding into another. It's especially useful when you get data from different operating systems and platforms. This library provides API that conforms UNIX98 spcification.


There is GNU libiconv library that can be used for this purpose. So, why did i start writing it from scratch? It's simple:

  • msdos filesystem must have support for converting filenames from Windows encodings to Unix encodings (e.g., CP1251 -> KOI8-R)
  • it's good to have the same for cd9660 filesystem
  • it's good to have iconv API in base system

We all know that GNU code can't be added to the base system, especially in kernel. We know why. So, that's why we need to have our own BSD solution. Also i want it to be compatible with GNU implementation, so it can be used in existing products without rewritting.

What's done?

Kazak Puffy - libiconv logo

The whole project consists of libiconv library and iconv executable.


  • Unoptimized engine for selecting encoding using its name or alias. It will be optimized, when i have more encodings.
  • Almost all Unicode encondings: UTF-8, UTF-16, UTF-16LE, UTF-16BE, UCS-2, UCS-2LE, UCS-2BE, UCS-4, UCS4-LE, UCS-4BE
  • Cyrillic encondings: KOI8-R, KOI8-U, ISO8859-5, CP1251, CP866, MacCyrillic


Currently it's just a test utility and not ready for production.

Also, Vladimir Mostovoy (vm@) created cool artwork. It's based on OpenBSD's Puffy artwork.

Ukrainian OpenBSD User Group
Get Firefox

Copyright © 2006-2016, Alexey Vatchenko. All rights reserved.
Designed by Vladimir Mostovoy.