Convert TSV to INI

Drag and drop files here or click to select.
Max file size 100mb.
Uploading progress:

TSV vs INI Format Comparison

Aspect TSV (Source Format) INI (Target Format)
Format Overview
TSV
Tab-Separated Values

Plain text format for storing tabular data where columns are separated by tab characters. Clipboard-native and widely used in bioinformatics, genomics, and data pipelines. Simpler than CSV because tabs rarely appear in data, eliminating quoting issues entirely.

Tabular Data Clipboard-Native
INI
Initialization File

A simple configuration file format with sections denoted by square brackets and key-value pairs separated by equals signs. Widely used for application settings on Windows and in cross-platform software. Human-readable and easy to edit with any text editor.

Configuration Key-Value
Technical Specifications
Structure: Rows separated by newlines, columns by tabs
Delimiter: Tab character (U+0009)
Encoding: UTF-8, ASCII, or UTF-16
Headers: Optional first row as column names
Extensions: .tsv, .tab
Structure: Sections with key=value pairs
Sections: [SectionName] in square brackets
Values: key = value or key: value
Comments: ; semicolon or # hash
Extensions: .ini, .cfg, .conf
Syntax Examples

TSV uses tab-separated columns:

Name	Age	City
Alice	30	New York
Bob	25	London
Charlie	35	Tokyo

INI uses sections and key-value pairs:

[Alice]
Name = Alice
Age = 30
City = New York

[Bob]
Name = Bob
Age = 25
City = London

[Charlie]
Name = Charlie
Age = 35
City = Tokyo
Content Support
  • Tabular data with rows and columns
  • Text, numbers, and dates
  • No quoting needed (tabs rarely in data)
  • Direct clipboard paste support
  • Large datasets (millions of rows)
  • Bioinformatics standard (BED, GFF, VCF)
  • Key-value pairs for settings
  • Section-based organization
  • Comments for documentation
  • String, number, and boolean values
  • Simple, flat configuration structure
  • No nesting or complex data types
Advantages
  • No quoting issues (tabs rarely appear in data)
  • Clipboard-native: paste directly from spreadsheets
  • Standard in bioinformatics and genomics
  • Simpler parsing than CSV
  • Human-readable in any text editor
  • Minimal overhead and tiny file size
  • Extremely simple and human-readable
  • Built-in Python support (configparser)
  • Native Windows registry-style format
  • Easy to edit with any text editor
  • Section-based organization
  • Supports comments for documentation
Disadvantages
  • No formatting or styling
  • No data types (everything is text)
  • Tab characters in data can break parsing
  • No multi-sheet support
  • No metadata or schema definition
  • No standard specification (informal format)
  • No nesting or hierarchical data
  • No arrays or list values (standard)
  • No data type enforcement
  • Limited to flat key-value structure
Common Uses
  • Bioinformatics data exchange (BED, GFF)
  • Clipboard copy/paste between apps
  • Database exports and imports
  • Scientific data tables
  • Log file analysis and processing
  • Application configuration files
  • Windows system settings
  • PHP configuration (php.ini)
  • Python configparser projects
  • Game configuration files
  • Desktop application preferences
Best For
  • Clipboard-based data transfer
  • Bioinformatics and genomics workflows
  • Simple tabular data without quoting hassles
  • Unix/Linux data processing pipelines
  • Generating configuration from spreadsheet data
  • Batch configuration file creation
  • Application settings management
  • Simple key-value data storage
Version History
Origin: Early Unix tools (cut, paste, awk)
IANA Registration: text/tab-separated-values
Status: Widely used, stable
MIME Type: text/tab-separated-values
Origin: MS-DOS / early Windows (1980s)
Standardization: No formal standard (de facto)
Status: Widely used, stable
MIME Type: text/plain (no official MIME)
Software Support
Spreadsheets: Excel, Google Sheets, LibreOffice
Text Editors: Any text editor (Notepad, VS Code)
Programming: Python (csv module), R, pandas
Other: Unix tools (cut, awk, sort), databases
Python: configparser (built-in)
PHP: parse_ini_file() (built-in)
Windows: Native GetPrivateProfileString API
Other: Any text editor, Java Properties

Why Convert TSV to INI?

Converting TSV data to INI configuration format transforms tabular data rows into organized, section-based configuration files. Each row in the TSV becomes a named section in the INI file, with column headers becoming keys and cell values becoming values. This is invaluable for generating application configuration files from spreadsheet data, batch-creating settings profiles, and automating system configuration.

TSV is the clipboard-native format, making it the easiest way to transfer data from spreadsheets to configuration files. System administrators can maintain server configurations in a spreadsheet, copy the data (which uses tab separation), save as TSV, and convert to INI files. This workflow is far more efficient than manually editing individual INI files, especially when managing dozens of servers or application instances.

INI files are among the most widely used configuration formats, natively supported by Windows, PHP (php.ini), Python (configparser), and countless applications. By converting TSV to INI, you can bridge the gap between tabular data management (spreadsheets) and application configuration. This is particularly useful for DevOps teams managing multiple environments, game developers with per-level configurations, and software deployers needing batch configuration generation.

Our converter intelligently maps TSV structure to INI format: the first column value (or row number) becomes the section name, and remaining columns are mapped to key-value pairs using the header row as keys. Comments are added to document the conversion source, and proper INI formatting is applied throughout.

Key Benefits of Converting TSV to INI:

  • Batch Configuration: Generate multiple config sections from spreadsheet rows
  • Clean Mapping: TSV headers become INI keys, cells become values
  • Section Organization: Each data row creates a named INI section
  • Clipboard-Friendly: Copy from spreadsheet, save as TSV, convert to INI
  • Python Compatible: Output works directly with configparser
  • No Quoting Issues: TSV's tab delimiter avoids CSV parsing problems
  • Human-Readable: INI output is easy to verify and edit manually

Practical Examples

Example 1: Server Configuration

Input TSV file (servers.tsv):

ServerName	Host	Port	Protocol	MaxConnections
web-01	192.168.1.10	8080	https	500
db-01	192.168.1.20	5432	tcp	100
cache-01	192.168.1.30	6379	tcp	250

Output INI file (servers.ini):

; Generated from servers.tsv

[web-01]
Host = 192.168.1.10
Port = 8080
Protocol = https
MaxConnections = 500

[db-01]
Host = 192.168.1.20
Port = 5432
Protocol = tcp
MaxConnections = 100

[cache-01]
Host = 192.168.1.30
Port = 6379
Protocol = tcp
MaxConnections = 250

Example 2: Application Environments

Input TSV file (environments.tsv):

Environment	DatabaseURL	Debug	LogLevel	CacheTimeout
development	localhost:5432/dev_db	true	DEBUG	60
staging	staging.db.internal:5432/staging	false	INFO	300
production	prod.db.internal:5432/prod	false	WARNING	3600

Output INI file (environments.ini):

; Generated from environments.tsv

[development]
DatabaseURL = localhost:5432/dev_db
Debug = true
LogLevel = DEBUG
CacheTimeout = 60

[staging]
DatabaseURL = staging.db.internal:5432/staging
Debug = false
LogLevel = INFO
CacheTimeout = 300

[production]
DatabaseURL = prod.db.internal:5432/prod
Debug = false
LogLevel = WARNING
CacheTimeout = 3600

Example 3: Game Level Settings

Input TSV file (levels.tsv):

Level	Difficulty	TimeLimit	MaxEnemies	BossEnabled
level_1	easy	120	10	false
level_2	medium	90	25	false
level_3	hard	60	50	true

Output INI file (levels.ini):

; Generated from levels.tsv

[level_1]
Difficulty = easy
TimeLimit = 120
MaxEnemies = 10
BossEnabled = false

[level_2]
Difficulty = medium
TimeLimit = 90
MaxEnemies = 25
BossEnabled = false

[level_3]
Difficulty = hard
TimeLimit = 60
MaxEnemies = 50
BossEnabled = true

Frequently Asked Questions (FAQ)

Q: What is an INI file?

A: An INI (Initialization) file is a simple text-based configuration format that uses sections (marked with square brackets like [SectionName]) and key-value pairs (key = value). INI files originated in MS-DOS and early Windows and remain widely used for application settings, PHP configuration (php.ini), Python configparser, and many other software tools.

Q: How are TSV rows mapped to INI sections?

A: Each row in the TSV file becomes a separate section in the INI file. The first column value is typically used as the section name (in square brackets), and the remaining columns become key-value pairs within that section. Column headers from the TSV are used as INI keys, and cell values become the corresponding INI values.

Q: Why use TSV instead of CSV as the source format?

A: TSV is simpler and more reliable than CSV for this conversion because tab characters almost never appear in configuration values, eliminating quoting issues. CSV data with commas in values (like database connection strings or file paths) requires complex quoting, which can lead to parsing errors. TSV handles these naturally. Additionally, TSV is clipboard-native, making it easy to copy data from spreadsheets.

Q: Can I use the INI output with Python's configparser?

A: Yes! The generated INI file follows the standard INI format supported by Python's built-in configparser module. You can read the file directly with configparser.read('output.ini') and access values using config['section']['key']. The format also works with PHP's parse_ini_file() function and Windows API functions.

Q: What happens if my TSV data contains equals signs?

A: Equals signs in data values are handled correctly. The INI parser typically only splits on the first equals sign in a line, so values containing additional equals signs (like base64 strings or mathematical expressions) are preserved intact. Our converter ensures proper formatting to avoid ambiguity.

Q: Can I add comments to the INI output?

A: The converter automatically adds a comment at the top of the INI file indicating the source TSV filename and conversion date. You can add additional comments by editing the output file -- lines starting with a semicolon (;) or hash (#) are treated as comments in the INI format.

Q: Is INI format suitable for complex configurations?

A: INI format works best for flat key-value configurations. It does not support nested structures, arrays, or complex data types. For hierarchical configurations, consider converting TSV to JSON, YAML, or TOML instead. However, for simple application settings, server configurations, and environment variables, INI is one of the most readable and widely supported formats.

Q: How does this help DevOps and system administrators?

A: DevOps teams often manage configurations for multiple servers, environments, and applications. Maintaining these settings in a spreadsheet makes bulk updates easy. By exporting to TSV (or copying from the clipboard) and converting to INI, administrators can quickly generate configuration files for all their systems without manual editing. This reduces errors and saves time when deploying to multiple environments.