What is MIME type "text/ini"?
A MIME type is a string that tells browsers and other tools how to handle a particular kind of file.
text/ini is a plain text MIME type that marks a file as a configuration file. It organizes settings using sections and key–value pairs.Developers use it to store application or project settings because the structure is both human-readable and easy for programs to parse. This simplicity allows quick edits without specialized tools.
- Main use: Holding configuration data for software and projects.
- Additional uses: Defining runtime parameters, user preferences, and system profiles.
- Key benefit: Its clear, text-based format streamlines manual edits and automated processing.
This plain-text approach is also favored by many modern tools (such as those from Godot Engine and IBM iSeries) and legacy systems alike. For an in-depth look at the structure and history of this format, visit the INI file format reference.
Associated file extensions
.ini, .cfg, .prj, .desktop, .tab, .id, .sts, .ws, .ecf, .gsf, .import, .gxt, .dev, .pmp, .wpr, .prb, .tkp, .wdr, .wfs, .ksp, .prof, .gth, .tres, .kdevprj, .shortcuts, .escn, .fclr, .geany, .godot, .ktf, .lvlps, .mdsp, .sfarr, .toml, .tscn, .ugf, .ugi, .wibucmrau
Usage Examples
HTTP Header
When serving content with this MIME type, set the Content-Type header:
Content-Type: text/ini
HTML
In HTML, you can specify the MIME type in various elements:
<a href="file.dat" type="text/ini">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/ini');
res.end('Content here');
}).listen(3000);
Associated file extensions
.ini, .cfg, .prj, .desktop, .tab, .id, .sts, .ws, .ecf, .gsf, .import, .gxt, .dev, .pmp, .wpr, .prb, .tkp, .wdr, .wfs, .ksp, .prof, .gth, .tres, .kdevprj, .shortcuts, .escn, .fclr, .geany, .godot, .ktf, .lvlps, .mdsp, .sfarr, .toml, .tscn, .ugf, .ugi, .wibucmrau
FAQs
Is text/ini an officially registered IANA MIME type?
No, text/ini is not officially registered with IANA, but it is a widely accepted de facto standard. While some servers may default to text/plain for compatibility, using text/ini helps identify the file specifically as a configuration document.
How do I configure Apache to serve .ini files correctly?
You can map the extension by adding AddType text/ini .ini to your .htaccess or main configuration file. This ensures that when a user requests an INI file, the server sends the correct Content-Type header.
Is it safe to host files with the text/ini MIME type publicly?
Proceed with caution. Configuration files like .cfg or .ini often contain sensitive secrets, such as database passwords or API keys. It is best practice to block web access to these files using server rules (e.g., Require all denied) unless they are intended for public consumption.
Why does my browser display INI files as text instead of downloading them?
Browsers are designed to render text/* MIME types directly in the viewport. To force a download, the server must send a Content-Disposition: attachment header along with the file.
What is the difference between text/ini and application/x-ini?
Both are unofficial types used to identify configuration files. text/ini is generally preferred because it indicates the content is human-readable, whereas application/x-ini might cause some browsers to treat the file as a binary download.
Can I use text/ini for Godot Engine files like .tscn?
Yes, Godot text resources like .tscn and .tres use an INI-style syntax. While Godot has its own internal handling, web servers serving these assets often use text/ini or text/plain to ensure they are transmitted as readable text.
What should I do if my web server returns a 404 or 403 error for .ini files?
A 403 error usually means the server is configured to block access to configuration files for security reasons (common in IIS and Apache). A 404 error might mean the MIME type is not defined in the server's MIME map, causing it to refuse serving the unknown file extension.
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.