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

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

text/x-coffeescript marks source files written in CoffeeScript and its variants. It tells programs that the file is plain text code meant to be processed by CoffeeScript compilers.
CoffeeScript is a language that converts into JavaScript. Its compact syntax makes coding faster and often more readable.
This MIME type guides editors, IDEs, and build tools to apply the correct syntax rules and highlighting, which aids in error detection and code management.
It is linked to projects using similar languages and file types. Common files include COFFEE, EM, _COFFEE, CAKE, CJSX, CSON, EMBERSCRIPT, and ICED.
This MIME type is key in projects that modernize JavaScript development with alternative, more concise code.

Associated file extensions

Usage Examples

HTTP Header

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


    Content-Type: text/x-coffeescript    
  

HTML

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


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

Associated file extensions

FAQs

What is the text/x-coffeescript MIME type used for?

It identifies files containing CoffeeScript source code, a language that compiles into JavaScript. Web servers use this label to tell browsers and development tools that the content is plain text code, typically found in files with the .coffee extension.

Do web browsers natively execute text/x-coffeescript files?

No, modern web browsers do not execute CoffeeScript directly; they only understand standard JavaScript. To run code served as text/x-coffeescript, it must be compiled into JS using a build tool (like Webpack) or transformed on-the-fly with a client-side compiler library.

How do I configure Apache or Nginx to serve CoffeeScript files?

For Apache, add AddType text/x-coffeescript .coffee to your .htaccess or config file. For Nginx, include text/x-coffeescript coffee; inside the types block of your nginx.conf or mime.types file to ensure the correct headers are sent.

What file extensions are associated with text/x-coffeescript?

The primary extension is .coffee. However, this MIME type is also frequently used for related formats such as .cson (CoffeeScript Object Notation), .cake (build scripts), and .iced (IcedCoffeeScript).

Why does this MIME type start with an 'x-' prefix?

The x- prefix indicates that text/x-coffeescript is a non-standard subtype that is not officially registered with the IANA. Despite this, it is the widely accepted convention for identifying CoffeeScript files across the web and in editors.

Is text/x-coffeescript safe to serve publicly?

Yes, serving the source code is safe, but it is usually not best practice for production performance. It exposes your raw logic and requires client-side compilation, which slows down page loads. It is better to pre-compile files to application/javascript for production use.

How do I fix 'Resource interpreted as Script but transferred with MIME type text/plain' errors?

This error occurs when you link a .coffee file in a <script> tag, but the server sends it as generic text. To fix this, configure your web server to associate the .coffee extension specifically with text/x-coffeescript.

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.