JuliaStrings/utf8proc logo

JuliaStrings/utf8proc

Free

a clean C library for processing UTF-8 Unicode data

FreeFree tier
Type
Open Source
Company
JuliaStrings

About JuliaStrings/utf8proc

utf8proc is a small, clean C library that provides Unicode normalization, case-folding, and other operations for data in the UTF-8 encoding. It supports Unicode version 17.0.0 and is used for basic Unicode support in the Julia language. Licensed under the MIT/expat license, it is regularly updated to keep up with recent Unicode releases. Originally developed by Jan Behrens and the Public Software Group, it is now maintained by the Julia developers. The library compiles easily with make or cmake and includes wrappers for Ruby, Rust, and Swift.

Key Features

Unicode normalization (NFC, NFD, NFKC, NFKD)
Case-folding and case conversion
UTF-8 encoding support
Small and clean C library
MIT/expat open-source license
Supports Unicode version 17.0.0
Wrappers available for Ruby, Rust, and Swift
Used for basic Unicode support in Julia

Pros & Cons

Pros
  • Lightweight and easy to integrate
  • Actively maintained with regular Unicode updates
  • Permissive MIT license
  • Used in production by Julia language
  • Simple compilation with make or cmake
Cons
  • Primarily a C library (though language wrappers exist)
  • Limited to core Unicode operations (normalization, case-folding)

Best For

Unicode text processing in C applicationsProviding Unicode support for programming languages (e.g., Julia)Text normalization and case conversion in cross-platform softwareEmbedded systems requiring lightweight Unicode handling