Uutf is a non-blocking streaming codec to decode and encode the UTF-8, UTF-16, UTF-16LE and UTF-16BE encoding schemes. It can efficiently work character by character without blocking on I/O. Decoders perform character position tracking and support newline normalization.

Functions are also provided to fold over the characters of UTF-encoded OCaml string values and to directly encode characters in OCaml Buffer.t values.