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.
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.
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.
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.
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
TSV provides several practical advantages when working with translation content that often contains punctuation and special characters.
# 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 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.
Following these best practices ensures your TSV files work correctly across different tools and systems.
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
TSV files are particularly popular in data-intensive environments and situations where content contains many special characters that would complicate CSV parsing.
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.
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
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)
# 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')
# 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
Understanding when to use TSV versus CSV helps you choose the right format for your specific translation management needs and content characteristics.
While TSV is generally simpler than CSV, there are still some challenges to be aware of when working with tab-separated translation files.
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.
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.
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.
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.
Follow these best practices to get the most out of TSV for your translation workflow:
Your partner in managing translations and localization workflow.
Web-based translation editor with comprehensive TSV support and advanced collaboration features.
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-translationWith 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# upload source translations
$ simplelocalize upload
# auto-translate strings
$ simplelocalize auto-translate
# download translated files
$ simplelocalize download
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 suggestionsGreet your customers
in their native language
See the latest news from our blog, including product updates, tutorials, and more.
Discover UI localization tips: handle text expansion, adjust layouts, and design for cultures to create user-friendly, multilingual apps.
Stay updated with your localization projects using our new notifications feature. Get real-time alerts for comments, mentions, and translation suggestions.
Edit your website or app translations directly within the context with our new In-Context Editor feature. Learn how to set it up and use it effectively.
Learn how to optimize your multilingual content for search engines with these practical SEO tips for localization. Optimize your localized content to reach global audiences effectively.