addy: A full-featured library for parsing, validating, and rendering email addresses

[ bsd2, library, text ] [ Propose Tags ]

A modern library for working with email addresses. This package can be used to validate user input or handle various flavors of addresses that appear in places such as mail messages.

Email addresses can be decoded, manipulated, then rendered back to text using the simple local-part@domain format or the more complete syntax that allows for display names and comments.

Comprehensive documentation can be found in the Addy module.

[Skip to Readme]


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Versions [RSS],
Change log
Dependencies attoparsec (>=0.13 && <0.14), base (>=4.9 && <5.0), bytestring (>=0.10 && <0.12), ip (>=1.5.1 && <1.8), lens (>=4.17 && <5.0), relude (>=0.6 && <0.8), text (>=1.2 && <1.3), text-icu (>=0.7 && <0.8), validation-selective (>=0.1 && <0.2) [details]
License BSD-2-Clause
Copyright Copyright (c) 2019-2020 Peter Jones
Author Peter Jones <>
Maintainer Peter Jones <>
Category Text
Home page
Bug tracker
Source repo head: git clone
Uploaded by PeterJones at 2020-10-29T19:53:37Z
Downloads 322 total (7 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2020-10-29 [all 1 reports]

Readme for addy-

[back to package description]

Addy: a modern library for working with email addresses

CI GitHub tag (latest by date) Hackage GitHub

A full-featured library for parsing, validating, and rendering email addresses.


Addy.decode ""
-- Right (EmailAddr "")

Addy.decode "我買@屋企.香港"
-- Right (EmailAddr "\25105\36023@\23627\20225.\39321\28207")

Addy.decode "Mary Smith <> (hi there!)"
-- Right (EmailAddr "Mary Smith <> (hi there!)")

Addy.decode "example@[]"
-- Right (EmailAddr "example@[]")


Addy.encode address
-- ""

Addy.decode "Mary Smith <> (hi there!)"
  & second Addy.encodeFull
-- Right "Mary Smith <> (hi there!)"