Go to Sign up
Note: Your files never leave your device. We don't upload, transfer, or store your data.
|
|
|
|
|---|---|---|
|
|
|
An INI file is a plain-text configuration file format used by many operating systems, applications, and frameworks to store settings. The format is defined by sections (enclosed in square brackets [section]) containing key-value pairs separated by an equals sign (=) or colon (:). Lines starting with a semicolon (;) or hash (#) are comments.
Example of an INI file:
; Database configuration
[database]
host=localhost
port=3306
name=myapp_db
; Application settings
[app]
debug=false
log_level=warning
max_retries=3
INI files have been used since early versions of Microsoft Windows (e.g., win.ini, system.ini) and remain widely used in Python (configparser), PHP (parse_ini_file), Java (Apache Commons Configuration), game engines, desktop applications, and embedded systems.
Excel to INI is a free online tool that converts spreadsheet data from Excel files (.xlsx, .xls, .xlsm) into INI configuration file format. You select which column defines sections, and the remaining columns become key-value pairs within those sections. The tool processes everything in your browser — your files are never uploaded to any server.
A built-in table editor lets you clean and modify your data before conversion. You can customize the key-value separator, comment style, empty value handling, and more.
Section Column Selection — Choose any column to define INI section headers. Unique values in that column become [section] names in the output.
Configurable Key-Value Separator — Choose between =, = , :, or : as the separator between keys and values.
Comment Style Options — Select semicolon (;) or hash (#) as the comment character.
Empty Value Handling — Choose to keep empty values as empty strings or remove them from the output entirely.
Skip Empty Rows and Sections — Toggle to skip rows where all cells are empty, or skip sections that contain no key-value pairs.
UTF-8 BOM Support — Optionally add a UTF-8 byte order mark to the output file for compatibility with Windows applications.
Built-in Table Editor — Edit cells, add or remove rows and columns, transpose, deduplicate, remove empty rows, apply case transforms, and find-and-replace before conversion.
Multi-Sheet Support — Select which sheet to work with in multi-sheet workbooks.
100% Client-Side Processing — Files are parsed and converted entirely in your browser. No data is transmitted to any server.
Drag and drop an Excel file (.xlsx, .xls, or .xlsm) onto the upload area, or click to browse. Alternatively, click Enter Data to type or paste data directly into the editor.
After loading, your data appears in an editable table. Use the toolbar to modify cells, add or remove rows and columns, transpose data, remove duplicates and empty rows, change text case, or find and replace values. Toggle First Row as Header to define column names.
In the Properties panel on the right:
Section Column — Select which column contains the section names. Each unique value in this column creates a new [section] in the INI output. All other columns become key-value pairs within that section.
Key-Value Separator — Choose =, = , :, or : .
Comment Style — Choose ; (standard) or # (Unix-style) for comment lines.
Skip Empty Rows — Skip rows where all cells are empty.
Skip Empty Sections — Skip sections that contain no key-value pairs after processing.
Empty Value Handling — Keep outputs the key with an empty value (key=). Remove omits the key entirely.
UTF-8 BOM — Add a byte order mark for compatibility with Windows applications (e.g., Notepad).
Given this Excel table:
| section | key | value |
|---|---|---|
| database | host | localhost |
| database | port | 3306 |
| app | debug | false |
| app | log_level | warning |
With "section" as the Section Column and = separator, the tool generates:
[database]
host=localhost
port=3306
[app]
debug=false
log_level=warning
Click Convert to generate the INI output. The result appears in the Output Data panel. Click Copy to Clipboard to copy it, or use Download File (Premium) to save it as a .ini file. Click Restart to reset all data and start over.
Application Configuration — Generate .ini config files for desktop applications, game engines (Unity, Unreal), and embedded systems from structured specification spreadsheets.
Environment Configuration — Convert environment-specific settings (development, staging, production) maintained in Excel into separate INI files.
Python Projects — Generate setup.cfg or application config files compatible with Python's configparser module.
PHP Applications — Create PHP-compatible INI files parseable with parse_ini_file().
Legacy System Migration — Convert configuration data from spreadsheets into INI format for legacy systems that require it.
Batch Configuration Deployment — Maintain all settings in a master Excel file and generate INI files for multiple servers or environments.
Testing and QA — Generate test configuration files with different parameter combinations from a test matrix spreadsheet.
| Feature | INI | JSON | YAML | TOML |
|---|---|---|---|---|
| Complexity | Very simple | Simple | Moderate | Moderate |
| Nested structures | No | Yes | Yes | Yes |
| Human-editable | Very easy | Moderate | Easy | Easy |
| Comments | ; or # | No (standard) | # | # |
| Data types | Strings only | Rich types | Rich types | Rich types |
| Best for | Simple app config, legacy systems | APIs, data exchange | Complex config (CI/CD, K8s) | Modern config (Rust, Python) |
No. All file parsing and conversion happens entirely in your browser using client-side JavaScript. Your files are never uploaded, transferred, or stored on any server. The tool works offline once the page has loaded.
The Section Column is the column in your spreadsheet whose values determine the INI section names (e.g., [database], [app]). Each unique value in this column creates a new section. All other columns become key-value pairs within that section. For example, if you have columns "section", "key", and "value", select "section" as the Section Column.
The tool supports .xlsx (Excel 2007+), .xls (Excel 97-2003), and .xlsm (macro-enabled) files. Multi-sheet workbooks are supported — use the sheet selector to choose which sheet to convert.
The standard INI format uses = (e.g., key=value). Some parsers also accept : (e.g., key: value). Python's configparser supports both. For maximum compatibility, use =.
Both are widely supported. Semicolon (;) is the traditional INI comment character used in Windows. Hash (#) is common in Unix-style configurations. Python's configparser supports both by default. Choose based on your target application's convention.
The UTF-8 Byte Order Mark (BOM) is a special character sequence (EF BB BF) at the start of a text file that signals the file is UTF-8 encoded. Some Windows applications (like Notepad) use the BOM to detect encoding. Enable this option if your target application requires it. For most modern applications, the BOM is unnecessary.
Yes. After uploading your file, the built-in table editor lets you modify cell values, add or remove rows and columns, transpose data, remove duplicates and empty rows, change text case, and find-and-replace — all before generating the INI output.
Rows with the same section value are grouped under a single [section] header. Each row contributes its key-value pairs to that section. For example, if rows 1 and 2 both have "database" in the Section Column, the output will have one [database] section with key-value pairs from both rows.
Since processing is entirely client-side, the practical limit depends on your device's available memory. Most modern browsers handle files with tens of thousands of rows without issue. For very large files (100,000+ rows), performance may vary by device.
Yes. Click the Enter Data button to open a blank editor where you can type or paste data manually, then convert it to INI format as usual.