International Components for Unicode

ICU presentó alguna complicación con idiomas como árabe, hebreo, indoario y tailandés en sus orígenes, pero aquello se detectó en su versión 54 y se solucionó completamente en la versión 58 gracias a HarfBuzz.

[2]​ ICU proporciona una internacionalización más extensa que las bibliotecas estándar de C y C++.

ICU comenzó utilizando UTF-16 y hoy en día solo lo hace para Java; mientras que con C/C++ se usa UTF-8, incluyendo el correcto manejando de "ilegal UTF-8".

[5]​ Una gran parte de este código aun existe en los paquetes java.text y java.util.

Más tarde rebautizado a International Components for Unicode, conservando su acrónimo.