What is MIME type "font/sfnt"?
A MIME type is a string that tells browsers and other tools how to handle a particular kind of file.
font/sfnt is a MIME type for fonts that use the SFNT container format. This format holds scalable vector data that defines each glyph's shape. It bundles together outlines, metrics, and metadata to display text crisply at any size.The SFNT format underpins both modern and legacy font technologies. It is used in files such as TTF and OTF, and it also applies to other less common formats like SIL, CFF, and AAT.
- Main use-case: Ensures consistent, scalable text rendering for screens and print.
- Functionality: Combines glyph outlines with typographic details like hinting and kerning.
- Usage: Employed by operating systems, web browsers, and design applications to render fonts accurately.
- Advanced features: Supports complex typographic behavior essential for high-quality digital typography.
Associated file extensions
Usage Examples
HTTP Header
When serving content with this MIME type, set the Content-Type header:
Content-Type: font/sfnt
HTML
In HTML, you can specify the MIME type in various elements:
<a href="file.dat" type="font/sfnt">Download file</a>
Server-side (Node.js)
Setting the Content-Type header in Node.js:
const http = require('http');
http.createServer((req, res) => {
res.setHeader('Content-Type', 'font/sfnt');
res.end('Content here');
}).listen(3000);
Associated file extensions
FAQs
What is the relationship between font/sfnt and .ttf or .otf files?
The SFNT format is the underlying container structure for both TrueType (TTF) and OpenType (OTF) fonts. While font/ttf and font/otf are specific subtypes, font/sfnt acts as a generic MIME type covering any font resource that uses this container format.
Should I use font/sfnt for serving web fonts?
For modern websites, it is highly recommended to use WOFF2 (font/woff2) due to its superior compression and performance. However, if you need to serve raw TTF or OTF files as fallbacks for legacy support, font/sfnt is a valid standard MIME type to use.
How do I configure Apache to serve font/sfnt correctly?
You can add the MIME type definition to your .htaccess file or main configuration. Add the line AddType font/sfnt .ttf .otf to ensure Apache sends the correct Content-Type header for these file extensions.
How do I add font/sfnt support to Nginx?
In your nginx.conf or mime.types file, locate the types block. Add or modify the line to include: font/sfnt ttf otf;. This tells Nginx to associate the generic SFNT MIME type with both .ttf and .otf extensions.
Why does my browser console show a generic 'application/octet-stream' warning for fonts?
This warning occurs when the web server does not recognize the font file extension and defaults to a generic binary stream. To fix this, explicitly configure your server to send the font/sfnt (or font/ttf / font/otf) header so the browser knows how to parse the resource.
Is font/sfnt the same as application/font-sfnt?
Technically, font/sfnt is the modern, IANA-registered standard under the top-level font media type. application/font-sfnt or application/x-font-ttf are legacy types used before the font category was standardized in RFC 8081.
Does font/sfnt support icon fonts?
Yes, many icon libraries rely on vector glyphs stored inside standard SFNT containers (like TTF files). While font/sfnt handles these correctly, modern development often favors SVG or WOFF2 formats for icons to reduce file size and improve rendering sharpness.
General FAQ
What is a MIME type?
A MIME (Multipurpose Internet Mail Extensions) type is a standard that indicates the nature and format of a document, file, or assortment of bytes. MIME types are defined and standardized in IETF's RFC 6838.
MIME types are important because they help browsers and servers understand how to process a file. When a browser receives a file from a server, it uses the MIME type to determine how to display or handle the content, whether it's an image to display, a PDF to open in a viewer, or a video to play.
MIME types consist of a type and a subtype, separated by a slash (e.g., text/html, image/jpeg, application/pdf). Some MIME types also include optional parameters.
How do I find the MIME type for a file?
You can check the file extension or use a file identification tool such as file --mime-type on the command line. Many programming languages also provide libraries to detect MIME types.
Why are multiple MIME types listed for one extension?
Different applications and historical conventions may use alternative MIME identifiers for the same kind of file. Showing them all helps ensure compatibility across systems.