ulunacak şekilde genişletildi. 1990 yılında Microsoft'tan Michel Suignard ve Asmus Freytag ve NeXT'ten Rick McGowan da gruba katıldı. 1990'ın sonlarına doğru mevcut kodlama standartlarındaki karakterlerin eşlenmesi çalışmaları tamamlanmış ve Unicode'un gözden geçirilecek son taslağı hazırlanmıştı. 

Unicode Consortium 3 Ocak 1991'de California'da kuruldu. Ekim 1991'de Unicode standardının ilk cildi yayımlandı. Han ideograflarını içeren ikinci cildi de Haziran 1992'de yayımlandı.

1996'da Unicode 2.0'da yedek karakter mekanizması uygulanmaya başladı. Bu sayede Unicode artık 16 bit ile sınırlanmamış oldu. Yedek karakter çiftlerinin kullanılmasıyla Unicode kod alanı bir milyon kod noktasını bulundurarak kadar genişledi. Böylece Unicode, Mısır hiyeroglifleri veya Göktürk alfabesi gibi birçok tarihi yazı sistemlerini ve kodlamasına ihtiyaç duyulmayacağı tahmin edilen, artık kullanılmayan eskimiş karakterleri destekler hale geldi. Unicode tarafından desteklenmesi ilk başta planlanmamış olan karakterler arasında nadiren kullanılan Kanji karakterleri ve Çince karakterler de bulunmaktadır. Bu karakterler artık kullanılmayan kişi veya yer isimlerinin parçası olduklarından nadiren kullanılıyordu ancak orijinal Unicode mimarisinde düşünülenden çok daha önemli karakterlerdir. 

Unicode, 0 ile 10FFFF arasındaki sayılara karşılık gelen 1.114.112 adet kod noktasından oluşan bir kod alanı tanımlamıştır. Kod noktası Unicode tarafından her bir karaktere atanan sayıdır ve bu sayı genelde on altı tabanında, heksadesimal gösterim adı verilen, 10-15 arası rakamların A-F arası harflerle temsil edildiği bir gösterim yöntemiyle yazılır. Normalde Unicode kod noktaları "U+" ve sonrasında kod noktasının on altı tabanındaki karşılığı ile ifade edilir. Kod noktalarının beşinci ve altıncı haneleri birlikte düzlem ("plane") numarasını ifade etmektedir, toplamda on yedi adet düzlem bulunmaktadır (0'dan 10'a kadar). İlk düzlem olan Temel Çokdilli Düzlem ("Basic Multilingual Plane", kısaca BMP) sıfırıncı düzlem olduğundan bu düzlemdeki karakterlerin kod noktaları yazılırken beşinci hanedeki 0 yazılmadan dört haneli şekilde yazılırlar (mesela Unicode tanımı olan X harfinin kod noktası U+000058 yerine kısaca U+0058 olarak ifade edilir), BMP dışındaki düzlemlerde bulunan kod noktaları başında düzlem numarası yazılarak ifade edilir. Dolayısıyla toplamda beş veya altı haneli olarak yazılırlar. (örneğin adlı karakterinin kod noktası U+E0001, Emoji karakterlerinden adlı 😀 karakterinin kod noktası U+1F600 olarak ifade edilmektedir). Unicode standardının eski sürümlerinde de benzer yazım şekilleri kullanılıyordu ancak ufak farklılıklar bulunmaktaydı. Örneğin Unicode 3.0 standardında kod noktaları yazılırken sekiz haneli kod noktasının önüne "U-" getirilirdi. Kod birimleri yazılırken önüne "U+" konularak yazılırdı. 

Unicode kod alanı 0'dan 16'ya kadar numaralanmış on yedi adet "düzlem"e ("plane") ayrılmıştır:

BMP düzleminde bulunan tüm kod noktaları UTF-16 kodlamasında tek kod birimiyle ve UTF-8 kodlamasında da değişken uzunlukta kod birimleriyle (bir, iki veya üç) kodlanabilir. UTF-16 kodlamasında kod birimleri 16-bit (iki bayta karşılık gelir), UTF-8'de 8-bit (bir bayta karşılık gelir) uzunluğundadır. 1'den 16'ya kadar olan düzlemlerdeki kod noktaları ("tamamlayıcı düzlemler", "supplementary plane") UTF-8 kodlamasında dört kod birimi ile ve UTF-16'da "yedek çiftler" veya "yer tutucu çiftler" ("surrogate pairs") denilen bir sistem ile iki kod birimi halinde kodlanırlar.

Her düzlem, blok adı verilen bölümlere ayrılmıştır ve her blokta o blokla ilgili karakterler bulunur. Blokların kapsadığı kod noktalarının sayısı (yani blokların büyüklüğü) değişken olmakla birlikte bu sayı her zaman 16'nın ve genelde de 128'in katıdır. Aynı yazı türünde bulunan karakterler farklı bloklara dağılmış olabilir.

Her kod noktasının Genel Kategori adlı bir niteliği bulunmaktadır. Temel kategoriler şunlardır: Harf ("Letter"), İm ("Mark"), Sayı ("Number"), Noktalama ("Punctuation"), Sembol ("Symbol"), Ayırıcı ("Seperator") ve Diğer ("Other"). Bu kategorilerin alt bölümleri de bulunmaktadır. Genel Kategori niteliği her zaman kullanışlı değildir; çünkü eski kodlama sistemleri tek kod noktasına birden fazla özellik yüklemiştir. Örneğin karakteri ASCII sisteminde hem kontrol hem de düzen ayırıcısı karakteri olarak kullanılmıştır, Unicode'da bu karakterin Genel Kategori niteliği "Diğer, Kontrol" olarak tanımlanmıştır. Bir kod noktasının özelliklerinin ve davranışının tam olarak belirlenebilmesi için diğer niteliklerin de dikkate alınması gerekmektedir. Mevcut Genel Kategoriler şunlardır:

U+D800..U+DBFF aralığında bulunan 1.024 kod noktası üst yedek kod noktaları olarak ve U+DC00..U+DFFF aralığında 1.024 kod noktası da alt yedek kod noktaları olarak bilinir. Üst yedek kod noktası (veya öndeki kod noktası) ve sonrasında gelen alt kod noktasının (veya arkadaki kod noktası) oluşturduğu çifte yedek çifti denir bu yedek çiftleri UTF-16 kodlaması tarafından BMP'nin dışında kalan kod noktalarını kodlamak için kullanılır. UTF-16 kodlaması kod noktalarını iki bayttan oluşan birimler halinde kodlamaktadır, iki bayt ile kodlanabilecek en büyük sayı FFFF (65535) olduğundan U+FFFF'nin sonrasındaki kod noktalarını ifade etmek için U+D800'den U+DFFF'ye kadar olan kod noktaları Unicode tarafından yedek kod noktaları olarak kullanılmak üzere ayrılmıştır. Bu kod noktaları çiftler halinde kullanılarak BMP dışında kalan 1.048.560 karakteri UTF-16 ile kodlamaya fazlasıyla yetmektedir (1.024 * 1.024 = 1.048.576 adet yedek çifti kombinasyonu vardır). Üst ve alt yedek kod noktaları tek başlarına anlamsız ve geçersizdir. Çiftler halinde kullanıldıkları zaman bir karakteri temsil ederler. Dolayısıyla, yedek çifti olarak kullanılmak üzere ayrılmış olan U+D800..U+DFFF aralığındaki kod noktaları U+10000..U+10FFFF aralığındaki kod noktalarının yerini tutmak amacıyla kullanıldığından, karakter olarak kullanılabilecek kod noktaları yedek kod noktaları dışında kalan kod noktalarıdır (U+0000..U+D7FF ve U+E000..U+10FFFF aralığında kalan 1.112.064 kod noktası). Karakter olarak kullanılabilecek kod noktalarına aynı zamanda karakterin skaler değeri de denmektedir. Örneğin UTF-16'da yedek çiftleri kullanılarak (D803 DC00) olarak kodlanan karakterinin skaler değeri U+10C00'dır denir. Çünkü (D803 DC00) yedek çifti 10C00 sayısını temsil eder.

Unicode bazı kod noktalarına ne şimdi ne de gelecekte herhangi bir karakter atamayacağını duyurmuştur. Karakter dışı kod noktaları Unicode şartnamesinde "noncharacter" olarak adlandırılmaktadır. Karakter dışı kod noktaları yazılımların iç yapısında herhangi bir amaçla kullanılabilir. Toplamda 66 adet karakter dışı kod noktası bulunmaktadır. U+FDD0..U+FDEF aralığındaki kod noktaları ve her düzlemin son iki kod noktası (yani U+FFFE, U+FFFF, U+1FFFE, U+1FFFF, ... U+10FFFE, U+10FFFF). Karakter dışı kod noktaları sabittir, ileride yeni karakter dışı kod noktası tanımlanmayacaktır.

Ayırtılmış ("reserved") kod noktaları da ileride kodlama karakteri olarak kullanılacak olan ama henüz Unicode tarafından kendilerine karakter atanmamış kod noktalarıdır.

Özel kullanım kod noktaları da karakter olarak kullanılabileceği belirtilen ancak hangi karakteri temsilen kullanılacakları Unicode tarafından belirtilmeyip kullanıcıya bırakılmış olan karakterlerdir. Yani bu karakterler yazılı bilgi alışverişi esnasında taraflar arasında önceden yapılmış bir anlaşamaya göre yorumlanabilecek karakterlerdir. Unicode kod alanında üç adet özel kullanım bölgesi vardır:


Çizgesel karakterler ("graphic characters"), Unicode tarafından tanımlanan, belirli bir anlamsal değeri olan ve görünür bir glif şekline sahip veya görünür bir boşluğu temsil eden karakterlerdir. Unicode 7.0 itibarıyla 112.804 çizgesel karakter vardır.

Biçimlendirme karakterleri ise görünür bir şekilleri olmayan ancak komşu karakterlerin görünüşünü veya davranışını etkileyen karakterlerdir. Örneğin karakteri ve karakteri bitişebilen karakterlerin bitişme durumunu belirlemek için kullanılabilir. Unicode 7.0'da 152 biçimlendirme karakteri bulunmaktadır. Başka bir örnek vermek gerekirse metin dosyalarında bilgisayarlarda tuşuna basarak yapılan alt satıra geçme işlemi sırasında metne ve karakterleri işlenir, bu karakterler metin üzerinde görünür bir yer kaplamadığı halde kendilerinden sonra gelen karakterlerin alt satırda görüntülenmesini sağladıkları için kontrol işlevi görür ve çizgesel karakter sınıfına girmez.

Altmış altı kod noktası (U+0000..U+001F ve U+007F.. U+009F aralıkları) kontrol kodları olarak ayrılmıştır ve ISO/IEC 6429 standardıyla belirlenen C0 ve C1 kontrol kodlarına karşılık gelir. Unicode'la uyumlu kodlamalarda bu kontrol karakterlerinden , ve karakterleri sıklıkla kullanılır. 

Çizgesel karakterler, biçimlendirme karakterleri ve kontrol kodu karakterleri hep beraber atanmış karakterler olarak bilinir.

Soyut karakter, metinsel bir verinin düzenlenmesi, denetlenmesi veya temsil edilmesi için kullanılan bilgi birimi olarak tanımlanmıştır. Soyut karakterin bir kod noktasıyla eşleştirilmiş haline kodlu karakter denir ve kodlu karakterler genelde kısaca karakter olarak anılır. Soyut karakterler, karakterlerin temsil ettikleri bilginin soyut, yani şekil almamış halini temsil eder. Unicode standardında tek bir kod noktasıyla ifade edilebilen bir soyut karakter aynı zamanda birden fazla kod noktasının yan yana kullanılmasıyla da alternatif olarak temsil edilebilir. Örneğin â harfi, Unicode tanımı kod noktasıyla ifade edilebileceği gibi ve kod noktalarının yan yana kullanılmasıyla da ifade edilebilir. İki farklı şekilde de aynı görüntü ortaya çıkacaktır: U+00E2 â ve U+0061 U+0302 â. Bu karakterler kodlamaları itibarıyla farklı olmalarına rağmen aynı soyut karakteri temsil etmektedir. Birisi tek bir kod noktasından oluşurken diğeri harfin parçalarına karşılık gelen kod noktalarının birleştirilmesiyle ifade edilir. Ancak bazı soyut karakterlerin Unicode standardında tek kod noktasıyla karşılığı yoktur. Bu yüzden bu soyut karakterler bird