What is MIME type "text/comma-separated-values"?
A MIME type is a string that tells browsers and other tools how to handle a particular kind of file.
The MIME type text/comma-separated-values identifies plain text files that hold tabular data. Each line in the file represents a record, and fields are separated by commas.This format is most often used with the CSV file type. It allows different programs to exchange data easily since the file is plain text and widely supported.
- Data exchange: Transfers table data between spreadsheets, databases, and other applications.
- Interoperability: Opens in many software programs and text editors without specialized tools.
- Automation: Supports scripting and batch processing with simple parsing rules.
Learn more about the format on the Wikipedia page for CSV.
Associated file extensions
Usage Examples
HTTP Header
When serving content with this MIME type, set the Content-Type header:
Content-Type: text/comma-separated-values
HTML
In HTML, you can specify the MIME type in various elements:
<a href="file.dat" type="text/comma-separated-values">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/comma-separated-values');
res.end('Content here');
}).listen(3000);
Associated file extensions
FAQs
Is text/comma-separated-values the standard MIME type for CSV files?
No, the official IANA standard registered in RFC 4180 is text/csv. However, text/comma-separated-values is a legacy MIME type that was widely used before standardization and is still generated by some older applications. For modern development, it is recommended to use text/csv.
How do I configure Apache to serve .csv files with this MIME type?
To support legacy applications requiring this specific type, you can add a directive to your .htaccess or main configuration file. Add the line AddType text/comma-separated-values .csv to map the extension. If your users do not require this specific legacy string, prefer using the standard text/csv.
Why does my browser download the file instead of displaying it?
Browsers often download these files because text/comma-separated-values is not always recognized as a renderable text format by default rendering engines. Additionally, if the server sends a Content-Disposition: attachment header, the browser is forced to save the csv file rather than displaying it inline.
Are there security risks associated with text/comma-separated-values?
While the file contains plain text and cannot run macros directly, it is vulnerable to CSV Injection (also known as Formula Injection). If a cell starts with characters like =, +, or @, spreadsheet software (like Excel) may execute formulas when the user opens the file. Always sanitize data before exporting.
How do I handle this MIME type in Nginx?
You can add the type mapping in your mime.types file or specifically inside a types block in your server configuration. Use the syntax text/comma-separated-values csv; to associate the type. Ensure you reload Nginx with nginx -s reload after making changes.
Should I use text/comma-separated-values or application/vnd.ms-excel?
If you want to ensure the file is treated as data for import/export across different platforms, use a text-based MIME type (ideally text/csv, or text/comma-separated-values for legacy support). Use application/vnd.ms-excel only if you specifically want to trigger Microsoft Excel to open the file, though this reduces compatibility with other tools.
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.