Encrypted Server Name Indication (ESNI) is an extension to TLSv1.3 that encrypts the Server Name Indication (SNI) field in the ClientHello of the TLS handshake. In simpler terms, when you connect to a website example.com, the SNI (example.com) is sent in clear text, even if you have HTTPS enabled. ESNI encrypts this SNI field, thus preventing an observer such as your coffee shop/ISP/government from learning which websites you are visiting.
For more information, we recommend the posts by EFF and Cloudflare that explain what ESNI is and its importance.
Which Websites (Hostnames) Support ESNI?
Use esnicheck.com to check if your favourite website supports ESNI!
Google, YouTube, Facebook, Amazon do not support ESNI. Cloudflare supports ESNI and therefore websites served by it (like medium.com) should support ESNI as well.
Which Browsers Support ESNI?
(You need both client-side and server-side support for ESNI to work.)
Mozilla Firefox is the only browser that currently supports ESNI. Please follow these steps for enabling ESNI support in Firefox.
About This Website
This website does not check if your browser (or your client) supports ESNI: it only checks if a hostname (website) supports ESNI by checking for TLSv1.3 support and the validity of DNS records (drafts 01 and 02 of the RFC). The motivation for this service is the hope that it will encourage the adoption of ESNI, helping increase the privacy of users on the internet.