/anchorme.js

Tiny, fast, efficient, feature rich Javascript library to detect links / URLs / Emails in text and convert them to clickable HTML anchor links

Primary LanguageTypeScriptMIT LicenseMIT

Anchorme.js

Documentation Getting Started, Documentations, Demos and more

npm npm GitHub release license David David

Tiny, fast, efficient, feature rich Javascript library to detect links / URLs / Emails in text and convert them to clickable HTML anchor links.

Main features

  • Sensitivity:
    • It's Highly sensitive with the least false positives.
    • It validates URLs and Emails against full IANA list.
    • Validates port numbers (if present).
    • Validates IP octet numbers (if present).
    • Works on non latin alphabets URLs.
  • Robustness:
    • Skips HTML, so it doesn't break your HTML if it had a URL as an attribute for an element, or a link that is already inside an anchor.
    • Links with or without protocols.
    • Works with IPs, FTPs, Emails and files.
    • Can detect parenthesis and quotation marks as part of the URL or as a surrounding to the URL.
    • Easily extensible with your own code (e.g. for hashtags and mentions).
  • Fast: Performance is one of the main things that were kept in mind while writing this library.
    • Processing H.G. Wells novel, the time machine, took only 100 milliseconds.
    • This library is also faster than other alternatives (linkify & autolinker). Link to benchmark
  • Light Weight: Although it's a feature rich library with a full IANA list included, it's only 9KB when minified and GZipped.