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

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

text/x-arduino is a MIME type for Arduino sketch files.
It marks plain text files that contain Arduino code. These files have a special link INO, indicating they are meant for Arduino projects.
This MIME type helps code editors and development tools apply the correct syntax highlighting and formatting rules.
It also assists systems in correctly identifying the fileโ€™s purpose during uploads or file handling.
The type is non-standard and mainly used within specialized environments like the Arduino IDE.
For more details on Arduino projects, visit the Arduino website.

Associated file extensions

Usage Examples

HTTP Header

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


    Content-Type: text/x-arduino    
  

HTML

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


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

Associated file extensions

FAQs

What is the purpose of the text/x-arduino MIME type?

The MIME type text/x-arduino is used to identify Arduino Sketch files, which contain source code for Arduino microcontrollers. It helps operating systems and development tools, such as the Arduino IDE, recognize that a file contains specific instructions for Arduino hardware rather than generic text.

Which file extension is associated with text/x-arduino?

This MIME type is primarily associated with the .ino file extension. While older Arduino projects (pre-1.0) used the .pde extension, modern sketches utilize .ino files.

How do I configure my web server to serve .ino files correctly?

To ensure browsers or update clients handle the files as text, you should update your server configuration. For Apache, add AddType text/x-arduino .ino to your .htaccess file. For Nginx, add text/x-arduino ino; to your mime.types file.

Why does this MIME type start with "x-"?

The x- prefix indicates that text/x-arduino is a non-standard or experimental type not officially registered with the IANA. It is a convention used by developers to define custom types before (or instead of) standardization.

Can I use text/plain or text/x-c++src instead?

Yes, since Arduino sketches are essentially C++ code, generic types like text/plain or text/x-c++src are often used as fallbacks. However, using the specific text/x-arduino type allows specialized editors to apply Arduino-specific syntax highlighting and linting rules immediately.

Will a web browser execute a text/x-arduino file?

No, web browsers cannot execute code meant for microcontrollers. If a browser navigates to a file with this MIME type, it will usually display the code as plain text or prompt the user to download the file, depending on the server's Content-Disposition settings.

What software opens files with the text/x-arduino content type?

These files are best opened with the Arduino IDE or code editors like VS Code equipped with Arduino extensions. Because the content is plain text, you can also view the raw source code using simple text editors like Notepad or TextEdit.

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.