# CSV > CSV file localization URL: https://store.crowdin.com/csv Category: File Formats Type: System Author: Crowdin CSV is a natively supported file format, you can use it without an additional installation. Just upload it to your projects and start the localization. Files uploaded via alignment automatically add labels to the context when sent for alignment. This improves translation matching accuracy when importing files into Crowdin. However, labels and context do not affect the export process. For files without a defined structure, translation uploads are handled by an experimental machine learning technology. ## File Format Details | Attribute | Value | | --------- | ----- | | File Extension | .csv, .tsv | | [API Type](https://developer.crowdin.com/api/v2/#operation/api.projects.files.post) | csv | | Source can be edited in Crowdin | Yes | | Generating translated files via [Bundles](https://support.crowdin.com/bundles/) | [Search Crowdin Store](https://store.crowdin.com/tags/string-exporter) | | Supports pluralization | No | | WYSIWYG Preview in the editor | No | | Supported types of contextual information | Text comments, Screenshots, In-Context | | Custom attributes | Yes | | Existing translations import possibility | Key-value mapping | ## Sample File ```auto "String ID","Source text","Translation","Context","Max.length","Labels" "1","String for translation 1","Chaîne pour la traduction 1","Context for string 1","40","mobile_app" "2","String for translation 2","Chaîne pour la traduction 2","Context for string 2","40","website" "3","String for translation 3","Chaîne pour la traduction 3","Context for string 3","40","emails" ``` **CSV Multilingual** ``` "String ID","Source text","French","German","Italian","Context","Max.length","Labels" "1","String for translation 1","Chaîne pour la traduction 1","Zeichenfolge für die übersetzung 1","Stringa per la traduzione 1","Context for string 1","40","mobile_app" "2","String for translation 2","Chaîne pour la traduction 2","Zeichenfolge für die übersetzung 2","Stringa per la traduzione 2","Context for string 2","40","website" "3","String for translation 3","Chaîne pour la traduction 3","Zeichenfolge für die übersetzung 3","Stringa per la traduzione 3","Context for string 3","40","emails" ``` ## Translating CSV **Custom Attributes** Max. Length for the translated string could be set as a number in a dedicated column (e.g., "Max.length"): ``` "String ID","Source text","Translation","Context","Max.length","Labels" "1","String for translation 1","Chaîne pour la traduction 1","Context for string 1","40","mobile_app" ``` Labels for the string could be added in a dedicated column (e.g., "Labels"): ``` "String ID","Source text","Translation","Context","Max.length","Labels" "1","String for translation 1","Chaîne pour la traduction 1","Context for string 1","40","mobile_app" ``` **Comments** Comments for the string could be added in a dedicated column (e.g., "Context"): ``` "String ID","Source text","Translation","Context","Max.length","Labels" "1","String for translation 1","Chaîne pour la traduction 1","Context for string 1","40","mobile_app" ```