Unicode aware uri-encoding.

Version on this page:
LTS Haskell 21.12:
Stackage Nightly 2023-09-22:
Latest on Hackage:

See all snapshots uri-encode appears in

LicenseRef-OtherLicense licensed by Silk
Maintained by code@silk.co
This version can be pinned in stack with:uri-encode-,2077

Module documentation for


Build Status

This package allows you to uri encode and uri decode Strings, Texts and ByteStrings.

The default is to encode everything but ASCII alphabetic characters, decimal digits, and - _ . ~, according to RFC 3986.

It has support for all of unicode, by first encoding strings to UTF8, and then encoding the individual bytes. This works both for network > 2.4 (which also does this) and for older version.

Additionally, two command line utilities are provided if the package is built with the tools flag: uri-encode and uri-decode.


  • Allow utf8-string 1.

  • Use network-uri instead of network when possible