Welcome to uriparser!

Latest News

What is uriparser?

uriparser is a strictly RFC 3986 compliant URI parsing and handling library written in C89 ("ANSI C"). uriparser is cross-platform, fast, supports both char and wchar_t strings, and is licensed under the New BSD license.

There are a number of applications, libraries and hardware using uriparser, as well as bindings and 3rd-party wrappers. uriparser is packaged in major distributions.

Please continue with:

If you have found a bug, please report it so it gets fixed. Thank you!

Sebastian Pipping


  • Cross-platform (Unix, Windows, Mac OS X, ...)
  • Strictly compliant to RFC 3986 (latest URI RFC on track STD 66 to date)
    • Parsing
    • Reference resolution (section 5.2, since version 0.4.0)
    • Reference creation (since version 0.5.2)
    • Recomposition (section 5.3, since version 0.4.0)
    • Syntax-based normalization (section 6.2.2, since version 0.5.0)
  • Fast (linear input length time complexity)
  • Support for both char and wchar_t strings
  • No external dependencies
  • Extensive unit testing using CppTest
  • Liberal license (New BSD license)