tsv

TSV Translations
File Format

TSV (Tab-Separated Values) is a simple text-based file format that uses tabs to separate data fields. It's an excellent alternative to CSV when your translation content contains commas, offering cleaner data structure and easier parsing.

Manage TSV translations
No credit card required14-day free trialTracking-free service

TSV translations file format

TSV (Tab-Separated Values) is a plain text file format that stores tabular data using tab characters (\t) to separate values. For translation management, TSV offers a cleaner alternative to CSV when dealing with content that contains commas, quotes, or other special characters. Each row represents a translation key, while columns represent different languages or metadata fields. The tab delimiter eliminates many parsing issues common with comma-separated formats, making TSV particularly suitable for complex translation content.

translations.tsv
key english spanish french welcome Welcome! ¡Bienvenido! Bienvenue! login.title Sign In Iniciar Sesión Se connecter login.email Email Address Dirección de Correo Adresse E-mail login.password Password Contraseña Mot de passe home.greeting Hello, {name}! ¡Hola, {name}! Bonjour, {name}! error.network Network connection failed Falló la conexión de red Échec de la connexion réseau
key	english	spanish	french
welcome	Welcome!	¡Bienvenido!	Bienvenue!
login.title	Sign In	Iniciar Sesión	Se connecter
login.email	Email Address	Dirección de Correo	Adresse E-mail
login.password	Password	Contraseña	Mot de passe
home.greeting	Hello, {name}!	¡Hola, {name}!	Bonjour, {name}!
error.network	Network connection failed	Falló la conexión de red	Échec de la connexion réseau

The main advantage of TSV over CSV is that tab characters are rarely used in human-readable text. This means you can include commas, quotes, and other punctuation in your translations without worrying about escaping or quoting rules. The format is also more readable in plain text editors, as tab alignment creates natural column spacing.

TSV with metadata columns

Like CSV, TSV files can include additional metadata columns to provide context and organizational structure.These columns help translators understand the purpose and context of each translation, leading to better quality results.

translations_with_metadata.tsv
key english spanish french description namespace welcome Welcome! ¡Bienvenido! Bienvenue! Main welcome message home Homepage login.title Sign In Iniciar Sesión Se connecter Login screen title auth Page login.email Email Address Dirección de Correo Adresse E-mail Email input field label auth Form button.submit Submit Enviar Soumettre Generic submit button text common Button text error.validation Please check your input Verifica tu entrada Vérifiez votre saisie Form validation error message validation
key	english	spanish	french	description	namespace
welcome	Welcome!	¡Bienvenido!	Bienvenue!	Main welcome message	home	Homepage
login.title	Sign In	Iniciar Sesión	Se connecter	Login screen title	auth	Page
login.email	Email Address	Dirección de Correo	Adresse E-mail	Email input field label	auth	Form
button.submit	Submit	Enviar	Soumettre	Generic submit button text	common	Button text
error.validation	Please check your input	Verifica tu entrada	Vérifiez votre saisie	Form validation error message	validation

Sample metadata columns for TSV

  • description: Clear explanation of the translation's purpose and usage
  • namespace: Logical grouping for related translations (e.g., auth, home, common)

Advantages of TSV over CSV

TSV provides several practical advantages when working with translation content that often contains punctuation and special characters.

Content comparison: TSV vs CSV
# TSV - Simple and clean key english spanish greeting Hello, world! ¡Hola, mundo! message He said "Welcome!" Él dijo "¡Bienvenido!" address 123 Main St, Suite 100 Calle Principal 123, Suite 100 # CSV - Requires quoting and escaping "key","english","spanish" "greeting","Hello, world!","¡Hola, mundo!" "message","He said ""Welcome!""","Él dijo ""¡Bienvenido!""" "address","123 Main St, Suite 100","Calle Principal 123, Suite 100"
# TSV - Simple and clean
key	english	spanish
greeting	Hello, world!	¡Hola, mundo!
message	He said "Welcome!"	Él dijo "¡Bienvenido!"
address	123 Main St, Suite 100	Calle Principal 123, Suite 100

# CSV - Requires quoting and escaping
"key","english","spanish"
"greeting","Hello, world!","¡Hola, mundo!"
"message","He said ""Welcome!""","Él dijo ""¡Bienvenido!"""
"address","123 Main St, Suite 100","Calle Principal 123, Suite 100"

Key advantages of TSV

  • No escaping needed: Commas, quotes, and apostrophes don't require special handling
  • Better readability: Tab alignment makes columns visually distinct in text editors
  • Simpler parsing: Less complex rules for handling special characters
  • Clean data: Reduced risk of parsing errors due to unescaped characters
  • Natural formatting: Tabs create consistent spacing without additional formatting
  • Multilingual friendly: Works well with content containing various punctuation marks

Working with TSV files

TSV files can be created and edited using the same tools as CSV files, with most applications supporting both formats.The choice between TSV and CSV often comes down to the nature of your content and your team's preferences.

Creating TSV files

  • Spreadsheet applications: Most can export to TSV format through "Save As" or "Export" options
  • Text editors: Create manually by typing tab characters between values
  • Programming scripts: Generate programmatically using tab characters as delimiters
  • Database exports: Many databases can export query results directly to TSV format
  • Translation tools: Export from existing translation management systems

TSV formatting best practices

Following these best practices ensures your TSV files work correctly across different tools and systems.

TSV best practices
Best Practices: ✓ Use actual tab characters (\t), not spaces ✓ Include header row with column names ✓ Use UTF-8 encoding for international characters ✓ Keep consistent column structure across all rows ✓ Avoid trailing tabs or extra whitespace ✓ Use consistent line endings (LF or CRLF) ✓ Test import/export with your target applications
Best Practices:
✓ Use actual tab characters (\t), not spaces
✓ Include header row with column names
✓ Use UTF-8 encoding for international characters
✓ Keep consistent column structure across all rows
✓ Avoid trailing tabs or extra whitespace
✓ Use consistent line endings (LF or CRLF)
✓ Test import/export with your target applications

Where TSV translations are used

TSV files are particularly popular in data-intensive environments and situations where content contains many special characters that would complicate CSV parsing.

Microsoft Excel

Microsoft Excel

Google Sheets

Google Sheets

LibreOffice Calc

LibreOffice Calc

Apple Numbers

Apple Numbers

How to manage TSV translations effectively?

Managing TSV translations effectively requires understanding the format's strengths and implementing workflows that take advantage of its simplicity while maintaining data integrity and collaboration efficiency.

Structured TSV layout
key english spanish french german description namespace status auth.login.title Sign In Iniciar Sesión Se connecter Anmelden Login page title authentication translated auth.login.email Email Correo E-mail E-Mail Email input label authentication translated auth.forgot.link Forgot password? ¿Olvidaste tu contraseña? Mot de passe oublié? Passwort vergessen? Forgot password link text authentication needs_review
key	english	spanish	french	german	description	namespace	status
auth.login.title	Sign In	Iniciar Sesión	Se connecter	Anmelden	Login page title	authentication	translated
auth.login.email	Email	Correo	E-mail	E-Mail	Email input label	authentication	translated
auth.forgot.link	Forgot password?	¿Olvidaste tu contraseña?	Mot de passe oublié?	Passwort vergessen?	Forgot password link text	authentication	needs_review

Set up proper file structure

1
Create a well-organized TSV structure with clear column headers and consistent data types. Include essential metadata columns and establish naming conventions for translation keys. Ensure all team members understand the file structure and column purposes.
Special characters in TSV
key english spanish address.format 123 Main St, Suite 100 Calle Principal 123, Suite 100 quote.example He said "Hello, world!" Él dijo "¡Hola, mundo!" list.items Red, green, blue Rojo, verde, azul currency.display Price: $19.99 (was $29.99) Precio: $19.99 (era $29.99)
key	english	spanish
address.format	123 Main St, Suite 100	Calle Principal 123, Suite 100
quote.example	He said "Hello, world!"	Él dijo "¡Hola, mundo!"
list.items	Red, green, blue	Rojo, verde, azul
currency.display	Price: $19.99 (was $29.99)	Precio: $19.99 (era $29.99)

Handle special characters properly

2
Take advantage of TSV's ability to handle commas, quotes, and other special characters without escaping. This makes it ideal for content with punctuation, addresses, lists, or quoted text. Ensure your tools and processes preserve tab characters correctly.
TSV validation script
# Python script to validate TSV structure import csv def validate_tsv(file_path): with open(file_path, 'r', encoding='utf-8') as file: reader = csv.reader(file, delimiter='\t') headers = next(reader) expected_columns = len(headers) for row_num, row in enumerate(reader, start=2): if len(row) != expected_columns: print(f"Row {row_num}: Expected {expected_columns} columns, got {len(row)}") # Check for missing key if not row[0].strip(): print(f"Row {row_num}: Missing translation key") validate_tsv('translations.tsv')
# Python script to validate TSV structure
import csv

def validate_tsv(file_path):
    with open(file_path, 'r', encoding='utf-8') as file:
        reader = csv.reader(file, delimiter='\t')
        headers = next(reader)
        expected_columns = len(headers)
        
        for row_num, row in enumerate(reader, start=2):
            if len(row) != expected_columns:
                print(f"Row {row_num}: Expected {expected_columns} columns, got {len(row)}")
            
            # Check for missing key
            if not row[0].strip():
                print(f"Row {row_num}: Missing translation key")

validate_tsv('translations.tsv')

Validate and maintain quality

3
Regularly validate your TSV files to ensure proper structure and data integrity. Check for missing translations, verify that all rows have the correct number of columns, and ensure tab characters haven't been converted to spaces during editing.
SimpleLocalize TSV integration
# Upload TSV translations to SimpleLocalize simplelocalize upload --apiKey YOUR_API_KEY \ --uploadFormat tsv \ --uploadPath ./translations.tsv # Download updated translations back to TSV simplelocalize download --apiKey YOUR_API_KEY \ --downloadFormat tsv \ --downloadPath ./translations.tsv # Upload with metadata update option simplelocalize upload --apiKey YOUR_API_KEY \ --uploadFormat tsv \ --uploadPath ./translations.tsv \ --uploadOptions UPDATE_DESCRIPTIONS
# Upload TSV translations to SimpleLocalize
simplelocalize upload --apiKey YOUR_API_KEY \
  --uploadFormat tsv \
  --uploadPath ./translations.tsv

# Download updated translations back to TSV
simplelocalize download --apiKey YOUR_API_KEY \
  --downloadFormat tsv \
  --downloadPath ./translations.tsv

# Upload with metadata update option
simplelocalize upload --apiKey YOUR_API_KEY \
  --uploadFormat tsv \
  --uploadPath ./translations.tsv \
  --uploadOptions UPDATE_DESCRIPTIONS

Integrate with SimpleLocalize

4
Upload your TSV files to SimpleLocalize for enhanced translation management. Benefit from collaborative editing, auto-translation, review workflows, and seamless conversion between different file formats while maintaining the simplicity of TSV for your primary workflow.

TSV vs CSV: When to choose which format

Understanding when to use TSV versus CSV helps you choose the right format for your specific translation management needs and content characteristics.

  • Content has commas: Addresses, lists, or descriptive text with punctuation
  • Quoted text: Content includes dialogue, citations, or quoted material
  • Complex formatting: Translations contain various special characters
  • Data analysis: Working with analytics tools that prefer tab-delimited data
  • Database exports: Many database systems default to TSV for exports
  • Cleaner parsing: You want to avoid CSV escaping complexity

Choose CSV when:

  • Universal compatibility: Maximum compatibility across all tools
  • Simple content: Translations are mostly simple text without special characters
  • Web applications: Many web tools expect CSV format by default
  • Business tools: Working with business users familiar with CSV
  • Email attachments: CSV is more widely recognized as a spreadsheet format
  • Legacy systems: Older systems may only support CSV

Common TSV challenges and solutions

While TSV is generally simpler than CSV, there are still some challenges to be aware of when working with tab-separated translation files.

Challenge: Tab character visibility

Problem: Tab characters are invisible in most text editors, making it hard to verify correct formatting.

Solution: Use editors that can show whitespace characters, or configure your editor to display tabs visually. Most modern code editors have this feature in their settings.

Challenge: Tab-to-space conversion

Problem: Some editors automatically convert tabs to spaces, breaking the TSV format.

Solution: Configure your editor to preserve tab characters, or use dedicated TSV/CSV editing tools. Always verify the file format after editing.

Challenge: Inconsistent line endings

Problem: Different operating systems use different line ending characters, which can cause import issues.

Solution: Standardize on UTF-8 encoding with LF line endings for cross-platform compatibility. Use version control settings to handle line endings automatically.

Converting between TSV and other formats

SimpleLocalize makes format conversion seamless, allowing you to work with TSV while supporting teams that prefer other formats.You can upload TSV files and export to JSON, YAML, Properties, XML, or any other supported format. This flexibility lets you optimize your workflow while maintaining compatibility with different tools and team preferences.

The platform intelligently handles the conversion process, preserving metadata and translation context across different formats. This means you can use TSV for its simplicity and clean handling of special characters while still providing translations in the format your application requires.

Best practices for TSV translation management

Follow these best practices to get the most out of TSV for your translation workflow:

  • Use UTF-8 encoding: Ensures proper display of international characters and emojis
  • Include comprehensive headers: Use descriptive column names that clearly indicate purpose
  • Maintain consistent structure: Ensure all rows have the same number of columns
  • Preserve tab characters: Configure tools to maintain tabs rather than converting to spaces
  • Add validation checks: Regularly verify file structure and data integrity
  • Document your format: Create guidelines for team members working with TSV files
  • Use version control: Track changes and collaborate effectively with Git or similar tools
  • Test imports regularly: Verify that your TSV files work correctly with target applications

Meet SimpleLocalize

Your partner in managing translations and localization workflow.
Web-based translation editor with comprehensive TSV support and advanced collaboration features.

SimpleLocalize translation editor in list-view view
  • Auto-translation
  • Screenshots with OCR
  • AI-powered adjustments
  • Built-in Automations
  • Markdown support
  • Variables highlighting
  • Bulk Actions
  • Context-aware translations
  • Acceptance statuses
  • Customizable view
  • Spreadsheet view
  • Text summaries

Auto-translation

Translate your application into multiple languages with just a few clicks. Choose from OpenAI ChatGPT, Google Translate or DeepL translation providers to translate your texts. Adding support for new languages has never been easier.

Learn more about auto-translation
Auto-translation tab in SimpleLocalize

Command-line tool

With SimpleLocalize CLI you can manage your translations from the terminal. It's a powerful tool that helps you to automate the translation process in your project. You can easily synchronize translation files between you local project and SimpleLocalize Translation Editor, start auto-translation or publish changes to the production environment.

CLI documentation
Terminal
# upload source translations $ simplelocalize upload # auto-translate strings $ simplelocalize auto-translate # download translated files $ simplelocalize download
# upload source translations
$ simplelocalize upload

# auto-translate strings
$ simplelocalize auto-translate

# download translated files
$ simplelocalize download

Community suggestions

Engage your community in the translation process with public suggestions. Let users propose improvements directly, helping you refine translations and build engagement. Enable public suggestions for your project, share the link, and start collecting input.

Learn how to collect translation suggestions
SimpleLocalize Public Suggestions
Ready to say
|

Greet your customers
in their native language

Upload your translations
5-minute setupNo credit card required