See my answer to a question on programmers.stackexchange.com. I used the markup to link to a website. Is there a reason why this isn't working? The text is not hyperlinked properly.

3 Answers 3


The problem has to do with the carets in the URLs. I removed the carets and the text became a link immediately. It's a bug alright, +1.

Turns out this is not a bug in the strictest sense of the term; see what Jeff and Nick have to say.

Your source:

Have you considered using [LoadRunner][1]? When I worked on Government projects,  
we used [LoadRunner][2] to baseline builds and determine their performance.  
It works really well.

  [1]: http://[snip].jsp?zn=bto&cp=1-11-126-17^8_4000_100
  [2]: https://[snip].jsp?zn=bto&cp=1-11-126-17^8_4000_100

Deleting the carets produces this (which doesn't link to the right places, obviously):

Have you considered using LoadRunner? When I worked on Government projects, we used LoadRunner to baseline builds and determine their performance. It works really well.

  • I have to disagree that it's a bug, this it's not a URL, and not linkified as a result. Commented Nov 3, 2010 at 23:54
  • @Nick: I agree its not a bug. Everything seems to be operating properly but @Popular's solution was the answer - though if you look at Jeff's answer the unsafe URL elements can be encoded to allow carets in the URL so it is more a feature request. One which I don't expect to happen. Commented Nov 3, 2010 at 23:56


The caret ("^") is NOT a valid URL character and must be percent encoded if you follow the recommendations of the IETF. This is one of the "unsafe" characters defined in RFC1738 (which was updated by RFC3986).

RFC1738: 2.2 URL Character Encoding Issues ... Unsafe:

Characters can be unsafe for a number of reasons. The space character is unsafe because significant spaces may disappear and insignificant spaces may be introduced when URLs are transcribed or typeset or subjected to the treatment of word-processing programs. The characters "<" and ">" are unsafe because they are used as the delimiters around URLs in free text; the quote mark (""") is used to delimit URLs in some systems. The character "#" is unsafe and should always be encoded because it is used in World Wide Web and in other systems to delimit a URL from a fragment/anchor identifier that might follow it. The character "%" is unsafe because it is used for encodings of other characters. Other characters are unsafe because gateways and other transport agents are known to sometimes modify such characters. These characters are "{", "}", "|", "\", "^", "~", "[", "]", and "`".

All unsafe characters must always be encoded within a URL. ...

RFC3986 updated RFC1738 to allow the tilde character ("~") to be used, (and the "#" character is the reserved delimiter for the fragment portion of the URI), but the "^" char is still a no-no to use unencoded if you wish to adhere to the IETF recommendations. That said, yes, some people do not follow the recommended procedures and use the caret, unencoded (in the query portion of the URI), but this is still a mangling of the standard and certainly should not be encouraged IMHO.

Caret ^ is not a valid URL character.

  • Are there plans to % encode it as the quoted source recommends? Commented Nov 3, 2010 at 23:51
  • 2
    @Changeling - Making the URL regex account for invalid characters as well (that's a long list) would lead to some very nasty regex, and some real potential to lock up the process doing it...I would hope this won't be done. Commented Nov 3, 2010 at 23:55
  • @Nick: I have no knowledge of that so I will take your word for it. I would imagine it would not be that bad but what do I know! Commented Nov 3, 2010 at 23:57
  • Wow. I remember thinking "caret, that's rare" when I first saw this question, but I had no idea there was a rule about them. Plus one, sir.
    – Pops
    Commented Nov 4, 2010 at 0:18

As of recently, when entering a link via the button (or Ctrl-L), these "evil" characters will automatically be escaped.

  • so would that make it status-accepted? Commented Mar 11, 2011 at 15:04
  • @Changeling: Assuming you mean status-completed -- I guess I leave that up to you. The markup you created will continue not to work, but (assuming you use the link button), correct markup will be created. So say if you want [status-completed] (because of the escaping functioanlity) or [status-declined] (because the original markdown still doesn't work) -- your choice :)
    – balpha StaffMod
    Commented Mar 11, 2011 at 15:14
  • @balpha: I just re-edited the question adding in the links and it didn't escape it. It accepted the URL with the caret so I am not sure what to think other than status-completed I guess :) Commented Mar 11, 2011 at 16:17
  • @Changeling: Um what? I don't understand. Looks escaped to me.
    – balpha StaffMod
    Commented Mar 11, 2011 at 16:33
  • @balpha: Ah I see it now. Firefox does not show it escaped in the status bar, but when you go look at the source it is escaped. Commented Mar 11, 2011 at 17:19
  • @Changeling: Now you've got me even more confused. I have absolutely no idea what you're telling me. Did the "enter link" box escape your caret or is it broken and you did it by hand?
    – balpha StaffMod
    Commented Mar 11, 2011 at 17:20
  • 1
    @balpha: I went to edit the link and re-copied/pasted the link over the existing (caret and all..). It now shows up as a link whereas before it didn't. As far as the FireFox comment, if a link has escape characters in it, FireFox will show the link when you hover over it unescaped so %5E shows up as caret, even though in the HTML Source it is %5E. Follow me? Commented Mar 11, 2011 at 19:08
  • @Changeling: Ah, gotcha. So everything worked as expected. status-completed coming up then :)
    – balpha StaffMod
    Commented Mar 11, 2011 at 19:15

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .