Unicode aware uri-encoding.

Version on this page:
LTS Haskell 16.19:
Stackage Nightly 2020-10-19:
Latest on Hackage:

See all snapshots uri-encode appears in

BSD-3-Clause licensed by Silk
Maintained by code@silk.co

Module documentation for

This version can be pinned in stack with:uri-encode-,2166


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.


  • Improve performance, thanks to David Farrell

  • Add license field in cabal file

  • Allow utf8-string 1.

  • Use network-uri instead of network when possible