What is MIME type "text/x-yaml"?

A MIME type is a string that tells browsers and other tools how to handle a particular kind of file.

text/x-yaml is a MIME type for files using the YAML format. YAML stands for "YAML Ain't Markup Language." It is plain text and relies on whitespace and indentation to show structure.

YAML is used to serialize data. Its syntax makes the data easy to read and edit. This is why many tools use it to store settings, configuration details, and asset information.

Main Use Cases:
Files using this MIME type come in many forms. Standard YAML files use formats such as YML and YAML. Other file names include those for game assets like MAT, ASSET, META, ANIM, and UNITY. Scripting and specialized languages also rely on YAML, seen in extensions like DSC, CWL, SLS and others such as MIR, MASK, PREFAB, KSY, LKML, LOOKML, RAML, REEK, RVIZ, SUBLIME-SYNTAX, SYNTAX, YAML-TMLANGUAGE, YAML.SED, and YML.MYSQL.

The clear structure and human-readable style of YAML make it a popular choice among developers and system administrators. For more details on YAML, visit the YAML official site.

Associated file extensions

Usage Examples

HTTP Header

When serving content with this MIME type, set the Content-Type header:


    Content-Type: text/x-yaml    
  

HTML

In HTML, you can specify the MIME type in various elements:


    <a href="file.dat" type="text/x-yaml">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', 'text/x-yaml');    
      res.end('Content here');    
    }).listen(3000);    
  

Associated file extensions

FAQs

Is text/x-yaml the official MIME type for YAML files?

Not anymore, though it is still widely used. The IETF recently registered application/yaml (RFC 9512) as the official standard. However, many legacy systems, servers, and applications still rely on text/x-yaml or text/yaml to identify .yaml files.

How do I configure Apache to serve YAML files correctly?

To ensure your Apache server sends the correct header, add the following line to your .htaccess or httpd.conf file: AddType text/x-yaml .yaml .yml. This ensures that browsers and API clients interpret the file as YAML rather than generic text/plain.

Why does my browser download YAML files instead of displaying them?

Most web browsers do not have a built-in rendering engine for structured data like YAML. Even though the MIME type starts with text/, browsers often default to downloading text/x-yaml content unless you have a specific extension installed to syntax-highlight and display it.

What is the difference between .yml and .yaml extensions?

There is no functional difference between the two. .yml is a legacy abbreviation from early operating systems (like DOS) that limited file extensions to three characters. Both extensions are valid and should be mapped to the text/x-yaml MIME type.

Why are Unity files like .prefab and .meta associated with text/x-yaml?

The Unity game engine utilizes YAML for its Asset Serialization mode. This means complex game data in files like .prefab, .unity, and .meta are actually stored as human-readable YAML text, allowing for easier version control and merging compared to binary formats.

Are there security risks associated with text/x-yaml?

Viewing the file as text is safe, but parsing untrusted YAML can be dangerous. Many YAML parsers allow object instantiation, which can lead to remote code execution (RCE) if a malicious file is processed. Always use "safe load" functions when handling external text/x-yaml data.

How do I add YAML support to Nginx?

You can add the MIME type definition in your mime.types file or the http block of your nginx.conf. Add the line: text/x-yaml yaml yml;. This tells Nginx to serve files with those extensions using the text/x-yaml content type.

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.