Finding URLs in your documents and converting them to hyperlinks is quick and easy with Hyperlinker:
Alternatively, use the Find Previous (<) and Find Next (>) buttons to find and select individual URLs, and the Convert/Find button to convert one URL at a time. If you have the Hyperlinks panel open, you can monitor the addition of hyperlinks as they are created.
Click Done to close the window when you’re finished.
The search settings define the scope of your search. You can search the whole document for URLs, the currently selected story, or just the currently selected text. Additionally, you can choose whether to include master pages and footnotes in your search.
Choose this setting to find valid email addresses in your document and convert them to email links. The ‘mailto:’ identifier is automatically added to the hyperlink destination if it is missing from the text. (The text itself is not altered.)
By default, Hyperlinker will recognise a web address that has any of the following hallmarks of a URL:
A ‘naked domain’ is missing all of these characteristics, e.g. inkwire.app. If your document includes this style of URI, you can find them by choosing the Find Naked Domains option. A word of caution… This option is more likely to return some false positives, depending on your text. On the positive side, it can help you find any missed spaces between sentences.Cool!
Most people recognise a web address when it’s missing the protocol (or scheme) designation at the beginning, so it’s common for an author to omit this from their text for brevity and aesthetics, e.g. inkwire.app/hyperlinker/ instead of https://inkwire.app/hyperlinker/. If someone copies this incomplete address into a web browser, the link will usually still work because the software makes the (generally correct) assumption that the linked resource uses the Hypertext Transfer Protocol—the protocol represented by the ‘http://’ or ‘https://’ part of the URL.
You don’t, however, want to be creating incomplete hyperlinks when you’re exporting an electronic publication. That’s leaving it up to the user’s software (web browser, PDF reader, etc) to try and fill in the blanks. The software may try to add ‘http://’ or it may not. It may mistake the incomplete URL for a relative link, and try to open a page relative to wherever the document is being hosted. In short, it’s another recipe for broken links and unhappy readers.
If your document’s text contains incomplete URLs, and you need to add ‘http://’ or ‘https://’ to the beginning of each hyperlink, you can have Hyperlinker do the work for you by ticking this option. (Only the hyperlink destinations and names are affected. The text itself is not altered.) Be careful, particularly when clicking ‘Convert All’, to ensure that all such links conform to the chosen protocol. (If they don’t, you might suggest to the author that the correct protocols need to be specified in the text!)
Choose this setting should you wish to create hyperlinks with ‘Shared Destinations’.
A Shared Hyperlink Destination is an InDesign feature that allows a single hyperlink destination (the page or file you are linking to) to be shared by multiple hyperlink sources (the URLs within your text). These shared destinations can be reused when creating new hyperlinks. (See the Hyperlinks section in Adobe’s InDesign User Guide.)
Some users prefer to avoid the added complexity of InDesign’s Shared Destinations. Even Adobe’s own documentation concedes, ‘If a URL hyperlink isn’t working in the exported PDF, there may be a problem with the hyperlink being a “Shared Destination”. Deselect the Shared Hyperlink Destination checkbox, and then click OK.’
In your document, it may not be possible to entirely prevent longer URLs from breaking where your text wraps from one line to the next. While InDesign tends to do an okay job of deciding where to break the path component of a long URL, it does nothing to prevent line breaks occurring within the domain name (or hostname), and these breaks are never a good thing.
Hyperlinker tackles this problem by applying InDesign’s No Break property to the part of the URL that you choose—either the protocol and domain name, or just the domain name. It does this after applying the character style and clearing any character overrides (if those options are chosen).
I find this approach preferable to automatically inserting discretionary line breaks throughout your text, as these hidden characters are more cumbersome to remove and work with later should the graphic designer or typesetter need to make changes. Discretionary line breaks (which are really just Unicode zero-width spaces) are, in my opinion, the last-resort tool in your typesetting toolbox, reserved for those occasions when the automated tools haven’t beaten a rogue URL into submission. When needed, you can add a discretionary line break (Type > Insert Break Character > Discretionary Line Break) with confidence, knowing that Hyperlinker won’t remove it from your text, and the final hyperlink will be unaffected.
Choose this option to apply any of your document’s character styles to the hyperlink text.
If you would like to remove any existing character styles, choose the ‘[None]’ style from the drop-down menu.
Character overrides are any character-level formatting properties that are not part of the applied paragraph and/or character style. For example, if you use Hyperlinker’s Apply Highlight Color feature, or you apply a color manually from InDesign’s Swatches panel, this overrides the color specified by the underlying style. By choosing the Clear Character Overrides option, you can restore the appearance of your hyperlink text to match the applied style.
This option provides a very quick and easy way to add color to your hyperlinks. (I found it useful while testing and refining the script, and you may find it useful while putting the script through its paces!) For final production however, I recommend using character styles instead.
A somewhat curious feature of InDesign hyperlinks is the Visible Rectangle. True to its name, it slaps an unsightly visible rectangle around the hyperlink text. I’m not sure why you would want to do this, but hey… it’s a feature of InDesign, and now it’s available for hyperlinking on a grand scale!
Note that these ‘visible rectangles’ may or may not actually be visible, depending on your environment. In order to see them within InDesign, you must:
The rectangles may be visible in the exported PDF, depending on your PDF viewer and settings.
Firstly, check the search scope. If it’s set to Story or Selection, verify that you have the intended text selected.
Secondly, check whether the URLs are incomplete. Are they missing the protocol (e.g. http://) at the beginning? If so, try using Hyperlinker’s Find Naked Domains feature.
If a particular URL is still not found, make sure it doesn’t contain any whitespace characters or line breaks. (See the next question regarding soft returns.)
In our testing, Hyperlinker found 100% of valid URLs and email addresses, including those using new top-level domains (like .app and .community). If your experience is different, I invite you to send me your feedback, including any specific URLs that weren’t recognised.
Don’t do this. No really. Soft returns are never a good way to force words to wrap where you want them to. Use discretionary characters (discretionary hyphens for normal words, and discretionary line breaks for URLs) instead. Alternatively, tell InDesign where not to break your URLs using the No Break property. (See Ways to control paragraph breaks in the InDesign User Guide.)
To remove any existing character styles, choose Apply Character Style and select ‘[None]’. To remove any character overrides (formatting that is not part of the underlying style) select the Clear Character Overrides option.
Make sure you select the Include Hyperlinks option in InDesign’s PDF export window.
Absolutely! If you haven’t yet made the jump to a Creative Cloud subscription, fear not—Hyperlinker will take your URL conversion powers well beyond those of your CC colleagues.
At the moment, the script is in English only.
The search patterns at the heart of this script owe much to John Gruber’s mighty URL matching regex, Jan Goyvaerts’ pragmatic email matching regex and Rex’s remarkably readable RexEgg resources. Many thanks to John, Jan and ‘Rex’.
I’ve worked hard to make Hyperlinker the best tool of its kind. Let me know if you find any bugs I missed.