Best practice for hyperref link colours?

Following the advice of Robin Williams, author of The Non-Designer's Design Book,

A set of three colors equidistant from each other always creates a triad of pleasing colors.

I have found that using colours equally distributed around the colour wheel works well. For the links in my example below, I use three colours that form a triad: yellow-orange, aquamarine, and violet.

enter image description here

enter image description here

\documentclass{article}

\usepackage{lipsum}
\usepackage{filecontents}
\usepackage[dvipsnames]{xcolor}
\usepackage{hyperref}
\usepackage{cleveref}

\newcommand\myshade{85}
\colorlet{mylinkcolor}{violet}
\colorlet{mycitecolor}{YellowOrange}
\colorlet{myurlcolor}{Aquamarine}

\hypersetup{
  linkcolor  = mylinkcolor!\myshade!black,
  citecolor  = mycitecolor!\myshade!black,
  urlcolor   = myurlcolor!\myshade!black,
  colorlinks = true,
}

\bibliographystyle{alpha}

\begin{filecontents*}{mybib.bib}
@ARTICLE{bibexample,
   author = {L[eslie] A. Aamport},
   title = {The Gnats and Gnus Document Preparation System},
   journal = {\mbox{G-Animal's} Journal},
   year = 1986,
}
\end{filecontents*}

\begin{document}
\tableofcontents
\section{foo}\label{foosec}
\subsection{bar}\label{barsubsec}
All \TeX{} users, rally around \url{http://tex.stackexchange.com}!
As shown in~\cite{bibexample}, blah blah blah in \cref{barsubsec}.
\bibliography{mybib}
\end{document}

There are two main purposes for using colored text in documents: style (make the document look more visually pleasing or adequate to its context) and readability (help the reader to understand its meaning). For hyperlink colors, one also has to distinguish between digital and printed documents: the special meaning only makes sense in digital.

Regarding style, less is usually more. Documents that use a coherent and clear color scheme, based on one or two main colors, just look nicer and more professional. It is also easier to align one or two extra colors with some corporate style to match the occasion. I would therefore not suggest to use different colors for different link types.

Regarding readability, blue-ish colors seem to say "link" for most people. Yet, I think that consistently used (dark) green or (dark) red would also convey the message that there is "something special" there. You can see the same color pattern on web sites: most use some form of blue, but others have their own style. For most documents, hyperlinks are an optional feature, so there is no big loss in readability for readers who do not understand the color. If hyperlinks are consistently used for certain keywords, then the document might still make sense in print, i.e., it should not be confusing to readers why some text is in color (or shade of gray if printed monochrome).

I do not think that the reader usually is interested in the distinction between link types, other than for internal link (to document) vs. external link (to some URL). It makes sense to distinguish this, but for all documents that are also meant for printing, one has to include the URL for external links anyway, which should be clear enough to understand that the link is external.

Regarding choice of colors in general, I suggest to avoid "pure" colors like #0000FF. They look too glaring (and also have disadvantages when using projectors, which sometimes are "weak" on one color). Look at this very website to get better examples: the link color I see is #145680. I find the named color MidnightBlue from the xcolor package to be an acceptable choice in LaTeX, which I prefer over NavyBlue. Also, keep in mind that the color should have sufficient darkness: light colors often appear to have more style, but are harder to read in print – the infamous devil's CSS #666 is used for text on many "stylish" websites. The same goes for some versions of blue that you might consider, especially when printed in black and white.


Use blue for any link you want your reader to immediately understand it is a link and do not change colors based on type unless it is black.

The journal articles I read are mainly in solid state physics and come from an IEEE format or one from the AIP. Even with overlapping content the style for hyperlinks is different. If you look at the IEEEtran documentation (IEEEtran HOWTO) you will notice that there are hyperlinks, but all of them are black. In the Journal of Applied Physics equation reference links, citation links, URL links are all in blue. These follow different styles and if your work is trying to write in that style or be read by people who are used to that style I would using existing conventions.

Writing things that are not necessarily following a specific style guide allows you to use whatever you like. I generally use the principle of keeping everything black, maybe using blue if I want to emphasize that links are available. To go beyond this I would require some special circumstances.

I generally feel that additional color in the main body of text is distracting and the reason for coloring the links is to emphasize that it is a link. Changing the color because it is a different type of link is not important because the context the link appears in will already signal the reader as to where the link will take them and the color simply informs the reader they do not have to search for this manually. Blue is used on the internet and in different publications more or less as the default so it is a clear signal to the reader.

Reasons to use a color other than blue would be that the document is part of a more comprehensive site that uses a different color for links and you want to keep consistent. Reasons to use more than one color would be because you use superscripts for references and superscripts for footnotes and want to set them apart more clearly (I would use the same color, but I can see an argument against). Again, if you are trying to emulate existing style you may use multiple or a color different than blue.

The only other reason I would be changing colors in the document would be a specific design choice. This would cause me to both try different things myself and get feedback from others. I may also consult a professional for this case.