realfp.com

What Is a Font Fingerprint?

Font fingerprinting is another important dimension of browser fingerprinting. When specific fonts are installed on your device, or when certain fonts are missing, this information can be used to generate a unique identifier.



The combination of fonts installed on each person’s device is unique—especially for users who have installed a large number of non-standard fonts, this uniqueness becomes even more pronounced. Therefore, font information can become a fairly precise component of a browser fingerprint.



How Font Fingerprinting Works

Font fingerprinting is mainly implemented through the browser’s JavaScript APIs. The core principle is that the browser can obtain and report the list of fonts available on the user’s device. This font information, combined with other browser and device characteristics, forms a unique fingerprint.



There are three common methods for collecting font fingerprints:



Method 1: Font Enumeration



This is the most direct method. A website directly obtains a complete list of installed fonts through APIs provided by the browser, as simply as checking which applications are installed on a device.



Method 2: Font Detection



This is a more covert method. A website asks the browser to render a piece of text in a specific font, and then measures the dimensions of that text. If the font is installed, the displayed size of the text will differ from that of the default font—through this kind of “trial and error,” the website determines one by one whether a particular font exists on your device.



Method 3: Font Detection in Canvas Fingerprinting



This is a more complex method. A website draws a piece of text on an invisible virtual canvas, and then analyzes the pixel arrangement of that text. Different fonts lead to differences in pixel patterns, and the website determines whether specific fonts are installed on your device by comparing these pixel patterns.