En los quince años de historia de Unicode, se ha convertido en el estándar de codificación de caracteres elegido en nuevas aplicaciones. Es la codificación predeterminada de HTML y XML; es el tipo de carácter fundamental en lenguajes de programación como Java, C y JavaScript; y es la codificación de caracteres interna en los sistemas operativos Windows y Macintosh. Prácticamente todas las variantes de UNIX también incluyen soporte para él. Unicode es para la informática del siglo veintiuno lo que ASCII fue para la informática del siglo veinte.
En octubre de 2006, el Consorcio Unicode lanzó la versión más reciente del estándar, Versión 5.0. La nueva versión contiene una gran cantidad de caracteres: casi 100.000.
Dos aspectos diferencian el estándar Unicode de otros estándares de codificación de caracteres. Uno es el tamaño y la exhaustividad de sus asignaciones de código. Esas casi 100.000 asignaciones de caracteres cubren todos los caracteres de todos los sistemas de escritura de todos los idiomas en uso comercial común actualmente, así como todos los caracteres necesarios para muchos idiomas minoritarios y sistemas de escritura obsoletos, además de una gran variedad de símbolos matemáticos, científicos y técnicos. Sea cual sea el carácter que necesite, las probabilidades son abrumadoramente altas de que Unicode lo tenga; y si no lo tiene, tampoco lo tendrá ningún otro estándar de codificación en uso razonablemente extendido. Esta exhaustividad permite representar texto en cualquier idioma o combinación de idiomas sin preocuparse por especificar qué estándar de codificación de caracteres sigue su aplicación o documento, ni por cambiar esa codificación en medio del documento ni por quedarse sin caracteres porque no pueda cambiar la codificación.
Naturalmente, esta exhaustividad plantea desafíos de implementación que deben abordarse. Por ejemplo, muchos de los sistemas de escritura del mundo tienen propiedades de ordenación bidimensionales complicadas que no se adaptan bien a una progresión lineal de códigos numéricos, y muchos pueden analizarse en «caracteres» de diferentes maneras. Pueden ser necesarias diferentes decisiones de codificación para diferentes escrituras, pero aun así debe poder mezclarlas en un documento y conseguir que funcionen correctamente. Muchos caracteres tienen apariencias similares, lo que genera posibles problemas de seguridad que deben abordarse. Tampoco puede deducir mucho sobre un carácter a partir de su posición en el espacio de códigos o su apariencia en los gráficos de códigos. Hay demasiados caracteres para eso, y se añaden más constantemente.
Por estas razones y muchas otras, el estándar Unicode y sus Anexos del Estándar Unicode acompañantes («UAXes» en abreviatura) van mucho más allá de cualquier otro estándar de codificación de caracteres al describir cómo esas casi 100.000 asignaciones de caracteres se utilizan conjuntamente para representar texto real y cómo el software debe realizar varios procesos en los caracteres. Por ejemplo, puesto que no puede deducir cosas a partir de la posición de un carácter en el espacio de codificación, el estándar incluye una base de datos muy grande de propiedades de caracteres que especifican en gran detalle aspectos como si un carácter es una letra o un dígito, qué otro carácter (si alguno) le es equivalente, etcétera. Dado que hay más códigos de caracteres de los que se pueden representar en una palabra de 16 bits, el estándar define diferentes esquemas de representación (Unicode los denomina «formas de codificación») que se optimizan para diferentes situaciones. Puesto que Unicode permite que muchos caracteres se representen de más de una forma, el estándar define procesos para tratar las equivalencias. El estándar también aborda muchas otras complejidades y desafíos.