I'm trying to make a URL with a tilde character (~) in it:


It looks right in the resulting PDF, but when clicking on it the browser goes to a wrong URL: http://lyle.smu.edu/%18tspell/jaws

If I type in the browser %7e (escape code for '~') instead of %18 the browser then goes to the correct URL.

Any idea how to get a correct link in the PDF?


You should use the hyperref package (which uses url internally but improves on it). It will not only format the link but also place a real hyperlink into the PDF. With url alone the link is only normal text, but is probably recognized as hyperlink by your PDF viewer, but with the wrong code for ~. LaTeX tends to substitute the code of these special characters depending on the font you use instead of taking the ASCII code.

This works fine with Acrobat Reader:


A funny thing is that %18 is the ASCII code for "CAN (cancel)", which doesn't make much sense and \char"18 isn't the tilde in the tt font. I can't follow how this specific code was produced.

  • 1
    Wow, this is one great package! (and it solved the problem too - thanks). – Hagai Cibulski Feb 11 '11 at 18:20
  • 3
    @Hagai Cibulski Be careful with hyperref: it is temperamental, as a search of this site will reveal. It likes being the last package loaded (apart from packages that need loading after it)... – Seamus Feb 15 '11 at 12:36
  • I think that the problem is the hyperref changes the definition of things, (like chapter and section and toc and cite entries) by adding a link to them, this will fail if you load another package that changes the way these command are defined. – Yossi Farjoun Feb 15 '11 at 15:43
  • 2
    @Hagai: in this case use hyperref s \nolinkurl macro, and disable the PDF bookmarks. – Martin Scharrer Feb 16 '11 at 8:49
  • 1
    @MartinScharrer I took your MWE, compiled it with MiKTeX 2.9, opened the pdf with Adobe Reader 11, clicked the link, which was opened in FF 19, but it tried to open http://lyle.smu.edu/%257Etspell/jaws (%257E is ~ encoded twice, i.e. % in %7E (~) encoded into %25). SumatraPDF and PDF-X Change Viewer opened the correct link in FF, so it might even be a bug / undesirable behavior on the side of Adobe Reader? Any idea if we can work around this? – doncherry Mar 7 '13 at 22:49

The ~ character will work fine if used inside \url{} or \hyperref{} within your text because they automatically disable all the TeX parsing; as described by Martin Scharrer. The same is true for other characters like _ and for the \path{} command provided by the url package.

But if you have a URL within your bibliography’s .bib file it won’t work. The solution to this problem is to URL encode the character. The tilde would be encoded as %7E. The bibliography entry would look like this:

  author = {Spell, Brett},
  date   = {2009-12-24},
  title  = {Java API for WordNet Searching (JAWS)},
  url    = {http://lyle.smu.edu/%7Etspell/jaws/},

This will compile correctly and the URL is clickable in e.g. generated PDF. You can even just copy that URL into your browser, it will load as expected.

  • In my experience ~ works fine in the url field in .bib files. Ultimately it will depend on the style you are using, but most styles that support a url field usually use hyperref/url to typeset the URLs and then ~ is supported out of the box. Some styles use fallback definitions in case url/hyperref commands are not loaded (not available), in that case ~ may not come out as expected, though I would expect %7E even worse in those situations. – moewe Mar 26 '20 at 21:34

uses \%7E to replace ~, do not forget \ before %7E.

url    = {http://lyle.smu.edu/\%7Etspell/jaws/},

This did it for me (plus: the link works!)


From: https://latex.org/forum/viewtopic.php?t=3663

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.