How to check if a website has HTTP/2 protocol support

You can use the curl command to find out if a particular website has HTTP/2 protocol support or not. In the following example, just replace https://www.cloudflare.com/ with the URL you want to check for HTTP/2 support:

% curl -vso /dev/null --http2 https://www.cloudflare.com/

If you see offering h2 among the output messages, that means that the given URL supports HTTP/2. For example:

....
* ALPN, offering h2
* ALPN, offering http/1.1
....

You can just check it in: Chrome Dev Tool (F12) → NetworkProtocol.

It will tell you the protocol used and the domain of each transfer.

Chrome Dev Tool (F12) -> Network -> Protocol

Legend

http/1.1 = HTTP/1.1
h2          = HTTP/2


Note: If you cannot see the Protocol column, just right-click on any header and check the "Protocol" label.


HTTP/2 reuses the http:// and https:// schemes rather than use new ones.

All browsers only support HTTP/2 over https:// and part of the SSL/TLS negotiation is to communicate whether both sides support HTTP/2 and are willing to use it (using an extension to SSL/TLS called ALPN).

The advantage for this is you can just connect to a website and if your browser supports it, it will automatically negotiate HTTP/2, and if not it will automatically fall back to HTTP/1.1.

So to test for HTTP/2 support you can use the browser as Markus's suggests (make sure to add the Protocol column to the Network tab in Chrome for example).

Or you can use an online tester like https://tools.keycdn.com/http2-test

Or you can use a command line tool like openssl (assuming it's been built with ALPN support): openssl s_client -alpn h2 -connect www.example.com:443 -status.

Most of the larger websites (e.g. Twitter, Facebook, Amazon, Stack Overflow) are using HTTP/2 now.