InstantClick is a JavaScript library that dramatically speeds up your website, making navigation effectively instant in most cases.

Latency is inevitable with today’s internet architecture so InstantClick cheats by preloading links you are likely to click on.

Before visitors click on a link, they hover over that link. Between these two events, 200 ms to 300 ms usually pass by (test yourself here). InstantClick makes use of that time to preload the page, so that the page is already there when you click.

On mobile devices, preloading starts on “touchstart”, letting 300 ms (Android) to 450 ms (iOS) for preloading the page.2

If you want your website to not be flooded by requests, you can set a delay before preloading starts when users hover a link. It will still feel instant.

If you don’t want any wasted requests, you may preload on “mousedown”. This is when you press your mouse button (a click is when you release it).

When loading pages with InstantClick, the browser doesn’t show its standard loading indicators anymore. To make sure the user knows a page has changed, InstantClick includes a (customizable) progress bar.3 The bar automatically scales to appropriate size on mobile devices, so it works even when your site isn’t optimized for mobile.

Code Quality Rank: L2
Monthly Downloads: 0
Programming language: JavaScript
License: MIT License
Tags: Performance     Browser     Navigation     Faster Web    
Latest version: v3.1.0

InstantClick alternatives and similar libraries

Based on the "Faster Web" category.
Alternatively, view InstantClick alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of InstantClick or a related project?

Add another 'Faster Web' Library



All the informations you need to use InstantClick are on the link above. This ReadMe’s purpose is about how to use and contribute to a development version of InstantClick.


Tests (in the tests folder) are PHP-generated HTML pages with which to check how InstantClick behaves on different browsers. That’s what I use before releasing a new version to make sure there are no obvious regressions.

To access the suite of tests, run php -S from the tests folder and head to


See the Contributing.md file.