# URL highlighting is not up to specifications

**URL:** <https://meta.discourse.org/t/url-highlighting-is-not-up-to-specifications/380266>\
**Category:** Feature\
**Tags:** markdown\
**Created:** [August 26, 2025, 2:13am UTC](https://meta.discourse.org/t/url-highlighting-is-not-up-to-specifications/380266 "2025-08-26T02:13:34Z")\
**Posts on this page:** 1\
**Showing post:** 1

<div class="post-metadata">

**Author:** ![carbon-starlight](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/carbon-starlight/32/519173_2.png) [@carbon-starlight](https://meta.discourse.org/u/carbon-starlight)\
**Post date:** [August 26, 2025, 2:13am UTC](https://meta.discourse.org/t/url-highlighting-is-not-up-to-specifications/380266/1 "2025-08-26T02:13:34Z")

</div>

_P.S. When I tried to post, I saw `An error occurred: Sorry, new users can only put 2 links in a post.` popup. I don’t know what kind of spam is it able to prevent as one link is enough for most spammers, but now I have to replace some of my nicely-formatted markdown links with text-based footnotes. The process of adding a footnote in the default markdown editor is by itself so glitchy and infuriating to be worth a separate report._

* * *

_P.S.S. It appears that Markdown-based references are also counted as links. Removing them in favor of Unicode superscript digits. At 40th minute of me trying to write this post._

* * *

According to STD 66 / RFC 3986¹ (human-friendly extracted list²), 81 characters may be unescaped in a URL fragment or queue. This list, sorted in ASCII order by the framework “Foundation³” in the Swift programming language: `!$&'()*+,-./0123456789:;=?@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~`

The following is a URL containing several of these characters: [Example Domain](https://example.com/#!$&) '()\*+,-./0123456789:;=?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\_abcdefghijklmnopqrstuvwxyz~ As you may see, highlighting is being cut off at a certain point.

While working at my project that uses these 81 characters to encode binary data in fragments (in base64 fashion, but more compact) I checked now up-to-spec highlighting is on several websites. While a similar bug was, inconsistently, present in some other places (like GitHub forum being unable to highlight the last character if it’s a `~`), Discourse has the widest selection of broken symbols. Some characters may or may not break the highlighting depending on some mysterious context, hence I don’t think I would be able to compose a comprehensive list.

¹ Google rfc/rfc3986.txt  
² Look for Stack Overflow answer #26119120  
³ Look up documentation/foundation/nscharacterset/urlfragmentallowed on Apple \> Developer

* * *

P.S.S.S. Some standard E-Mail addresses are also not highlighted. I’ll use my second link to link to [https://e-mail.wtf](https://e-mail.wtf) for some examples.

Not highlighted, but should be:

orgmail(to John Doe)@example.com  
“:(){ :|:& };:”@example.com  
magic@[::1]

---

_[View the full topic](https://meta.discourse.org/t/url-highlighting-is-not-up-to-specifications/380266)._
