T tomlkit·org
Inspect Formatter Validator Convert TOMLJSON JSONTOML TOMLYAML YAMLTOML INITOML TOMLINI .envTOML TOML.env TOMLTS Transform Sort keys Flatten Minify Compare Diff Merge

TOML to INI Converter

updated 24 May 2026

Backport a TOML document to a plain INI file for systems that still expect it. Tables become [section] blocks; nested tables become dotted [a.b] sections; arrays are joined with commas.

dotted [a.b] sections preserved

When to use INI

Almost never, in 2026 — but sometimes a downstream system (an old Windows app, a sysadmin's tool, a Python configparser consumer that you can't replace) only reads INI. This tool lets you keep your authoritative config in TOML and emit INI as a build artifact.

How to use it

  1. Paste TOML on the left.
  2. Click Convert.
  3. Download the .ini file or pipe it into your build.

Mapping notes

  • Top-level scalars stay at the top of the INI file, before any section header.
  • Each TOML table becomes an INI [section].
  • Nested tables become dotted sections: [database.pool].
  • Arrays are joined with ", ". This is lossy — recovery requires custom parsing on the INI side.
  • Dates are emitted as ISO 8601 strings.
  • Strings containing whitespace, quotes, or INI-special characters are double-quoted.

FAQ

Will every TOML file convert cleanly?

Not quite. Arrays of tables ([[users]] in TOML) have no direct INI equivalent — each entry would need a unique section name. The converter will report an error in those cases rather than silently invent names.

Which INI dialect does it emit?

A conservative subset that configparser (Python), ini (Node), and IniFile (.NET) all accept. No type tags, no continuation lines.