Unicode je technická norma pro oblast výpočetní techniky definující jednotnou znakovou sadu a konzistentní kódování znaků pro reprezentaci a zpracovávání textů použitelné pro většinu písem používaných v současnosti na Zemi. Unicode je vyvíjen v součinnosti s ISO/IEC 10646 a je publikován elektronicky jako The Unicode Standard. Nejnovější verze obsahuje repertoár více než 140 000 znaků pokrývajících 159 moderních a historických písem a mnoho sad symbolů. Standard sestává ze sady tabulek pro vizuální referenci, popisu metod kódování, sady referenčních datových souborů a dalších položek, jako například vlastností znaků, pravidel pro normalizaci textů, dekompozici, řazení, vykreslování a zobrazování obousměrného textu (pro správné zobrazení textu obsahující písma psaná zprava doleva i zleva doprava, jako například arabské a hebrejské písmo).[1] Poslední verze je Unicode 16.0 ze září roku 2024. Normu udržuje Unicode Consortium.
Úspěch Unicode v unifikaci znakových sad vedl k jeho rozšíření a převládajícímu používání pro internacionalizaci a lokalizaci počítačového softwaru. Unicode je implementován mnoha technologiemi, včetně moderních operačních systémů, XML, programovacím jazykem Java a .NET Frameworkem firmy Microsoft.
Unicode definuje několik způsobů reprezentace textů různými znakovými kódy. K nejpoužívanějším kódováním patří UTF-8, UTF-16 a zastaralé UCS-2. UTF-8 používá jeden bajt pro libovolný ASCII znak, přičemž všechny ASCII znaky mají v UTF-8 stejné kódové hodnoty jako ASCII a dva až čtyři bajty pro jiné znaky. UCS-2 používá 16bitové kódové jednotky (dva 8bitové bajty) pro každý znak, ale neumožňuje kódovat všechny znaky v aktuálním standardu Unicode. UTF-16 je rozšíření UCS-2, které pomocí dvou 16bitových jednotek (4 × 8 bit) umožňuje kódovat všechny znaky z Unicode. V Číně se používá kódování GB18030, které přebírá celý znakový repertoár Unicode, proto je také jedním ze způsobů kódování Unicode. Mapování GB18030 na UTF-32 je však netriviální (potřebuje převodní tabulku).
Umožňuje současně používat různá písma při vícejazyčném zpracování textu v počítači a kóduje široké portfolio znaků pro profesionální zpracování textů v prakticky jakémkoli moderním i historickém jazyce. Nevýhodou unicode může být složitější zpracování, stejný text zabírá více prostoru na disku nebo v operační paměti počítače. Ovšem výhody univerzální znakové sady drtivě převažují, což je vidět mj. na tom, že starší osmibitové znakové sady jsou dnes definované jako podmnožiny Unicode.