TOML converted
{{ summaryPrimary }}
{{ summarySecondary }}
{{ metrics.documentCount }} {{ metrics.documentCount === 1 ? 'document' : 'documents' }} {{ metrics.totalKeys.toLocaleString() }} keys {{ metrics.totalScalars.toLocaleString() }} scalars Depth {{ metrics.maxDepth }} Preview trimmed {{ warnings.length }} warning{{ warnings.length === 1 ? '' : 's' }}
TOML converter inputs
Example: title = "App" with [server] tables and key/value pairs.
Drop TOML or TXT onto the textarea.
Choose 2 or 4 spaces for readable JSON; 0 minifies.
Accepted range: 1 to 8 spaces.
Use 80 for reviewable files or 0 for unwrapped config values.
Turn on before comparing regenerated config files.
{{ yaml_sort_keys ? 'On' : 'Off' }}
Enable for string-only config loaders; leave off for native types.
{{ yaml_force_quotes ? 'On' : 'Off' }}
Applies only while Force YAML quotes is on.
Use when the target loader cannot resolve anchors or aliases.
{{ yaml_no_refs ? 'On' : 'Off' }}
Examples: server.host or server/host.
Accepted range: 50 to 2000 rendered rows.
Example: APP produces APP_SERVER_HOST.
Turn off only when the target system expects lowercase keys.
{{ uppercase_env ? 'On' : 'Off' }}
Field Value Copy
{{ row.label }} {{ row.value }}
{{ normalizedToml }}
{{ normalizedYaml }}
{{ iniText }}
{{ envText }}
{{ propertiesText }}
Document Path Type Preview Copy
Doc {{ row.docIndex }} {{ row.path || '(root)' }} {{ formatTypeLabel(row.type) }} {{ row.preview }}
Path Types Docs Example Copy
{{ row.path }} {{ row.types }} {{ row.docs }} {{ row.example }}
Customize
Advanced
:

Introduction

TOML was created for configuration that people still need to read and edit comfortably. The format keeps explicit data types, named tables, arrays, and date-time values without forcing everything into a dense syntax, which is why it appears in hand-maintained project and service settings such as pyproject.toml and similar config files.

Paste TOML text into this page or drop a .toml file and it rebuilds the same parsed data in several directions. You can inspect cleaned TOML, YAML, JSON, INI-style text, env assignments, Java properties text, a flattened path ledger, and a schema summary. That makes it useful both as a TOML conversion workspace and as a structural review page before you move configuration into another system.

The practical split is simple. TOML, YAML, and JSON keep nested structure visible. INI, env, and properties output are convenience views derived from scalar leaves, so they help with review, copy-paste handoff, or simple string-based configuration, but they are not full substitutes for the original document when arrays, nested tables, or unusual keys matter.

It also helps to know what is not preserved. Once the page has parsed the input, later tabs are generated from the parsed values rather than from the original source text. Comments, original whitespace, and author-specific formatting choices do not survive that translation. Read the rebuilt outputs as clean representations of the data, not as a source-preserving formatter.

Technical Details

After the page loads, parsing and conversion happen in the browser. The input is normalized to standard line breaks, checked as TOML, and then every result tab is derived from the parsed value tree. If the TOML is invalid, the page stops at the parser error instead of trying to guess at partial output, which keeps every export tied to an actual parsed state.

How the conversion flow branches after parsing
TOML text
  -> syntax check and typed parse
  -> parsed tree
     -> rebuilt TOML / YAML / JSON
     -> INI / env / properties text from scalar leaves
     -> Paths table for every discovered location
     -> Schema table grouped by unique path, type set, and example
How each TOML converter view is derived and what it preserves best
View How it is built What it is best at What to watch
TOML The parsed data is serialized back into TOML text Checking that values and nesting parse cleanly as TOML Comments and original layout are not preserved
YAML and JSON The same mappings, arrays, and scalar values are rendered in structured interchange formats Sharing or reviewing nested configuration without flattening it Formatting controls change presentation, not the underlying data
INI Scalar leaves are grouped by the first path segment and later segments become sanitized keys Simple section-and-key review for shallow settings Arrays and deeper nesting are reduced to numbered or normalized key text
Env Flattened paths become KEY=value lines with optional prefixing and uppercasing Shell-style or deployment-variable handoff Punctuation and case collapse into underscores, so distinct TOML keys can converge
Properties Flattened path text becomes the property name and scalar values become strings Reviewing path-based settings for Java-style property files Keys follow the chosen flattened path style rather than a dedicated escaping layer
Paths Every discovered location, type, and preview value is listed row by row Auditing shape, depth, empty containers, and array indexes Large previews can be trimmed on screen, though CSV export still uses the full path set
Schema Rows are merged by unique path and show types, document count, and one example Finding paths that change type or appear inconsistently The example is representative, not a complete value inventory

Path formatting is explicit rather than cosmetic. In dot mode, ordinary identifier-style keys stay readable as paths such as server.host, while keys with punctuation or spaces are quoted inside brackets so the path still points back to the original key safely. In slash mode, arrays become plain numbered segments and literal slashes inside keys are escaped instead of being mistaken for separators.

How flat exports transform representative TOML paths
Original path Env key Properties key INI placement
server.host SERVER_HOST server.host [server] with host=...
server.ports[0] SERVER_PORTS_0 server.ports[0] [server] with ports_0=...
logging["path/with/slash"] LOGGING_PATH_WITH_SLASH logging["path/with/slash"] [logging] with path_with_slash=...

That normalization matters because TOML keys are case-sensitive and can legally contain characters that flat outputs simplify. When you are preparing env or INI text for real use, check the Paths tab first if the source file contains mixed case, punctuation-heavy keys, or several names that only differ by separators. The converter is honest about the parsed values, but flatter outputs still trade fidelity for convenience.

Everyday Use & Decision Guide

A dependable workflow starts with structure, not export. If the TOML is unfamiliar, read the summary badges and Overview rows first, then open Paths and Schema before you copy anything out. That order tells you how large the document is, how deep it goes, which types dominate, and whether a path carries one stable type or several competing shapes.

Choosing the best result tab for common TOML conversion goals
Goal Best tab Why
Confirm the file parses and see a clean TOML rewrite TOML It shows the same parsed data back in TOML form without the original spacing noise
Send structured configuration to another tool or teammate YAML or JSON Nested tables and arrays stay visible instead of being flattened into path text
Prepare shell or string-based settings Env, Properties, or INI These views turn scalar leaves into direct key-value lines that are easy to copy
Find where a value lives in the document Paths Each discovered location is listed with its type and a short preview
Check whether one path stays the same type everywhere Schema Unique paths are grouped so type drift stands out immediately

Flat outputs work best when the real requirement is "show me the final leaf values" rather than "preserve the original configuration structure." They are most reliable with shallow settings made of strings, numbers, booleans, and date-time values. As soon as the source TOML uses nested tables, arrays, or keys with punctuation that matters, YAML or JSON is usually the safer exchange format and Paths becomes the safer audit view.

The advanced controls mostly tune readability. JSON spacing changes how compact the JSON tab is. YAML options control indentation, wrapping, key sorting, and quote style. Path style changes how flattened locations are written. Env options let you add a prefix and choose uppercase key generation. Those controls help you fit the output to a target system, but they do not change what the TOML parser understood.

Step-by-Step Guide

  1. Paste TOML into the editor or drop a .toml file onto the input area.
  2. Fix any parser error before trusting the result tabs, because every later view depends on a successful TOML parse.
  3. Read the summary badges and Overview rows to gauge document size, scalar count, sample keys, sample values, and nesting depth.
  4. Open Paths and Schema if the file is unfamiliar, especially before using any flattened export.
  5. Choose the output that matches the job: structured formats for fidelity, flat formats for string-based handoff.
  6. Adjust presentation controls only if the target needs a specific JSON spacing, YAML style, path notation, or env prefix.
  7. Copy or download the selected result, then do one quick sanity check on key names if you are using env or INI text in a real deployment flow.

Interpreting Results

The summary badges answer a structural question, not a semantic one. The document count shows how many parsed roots the page is tracking. Key and scalar counts estimate how large the configuration surface is. Maximum depth hints at how far a reviewer may need to drill before seeing the whole tree. Type badges show the dominant parsed value kinds. A preview-trimmed badge means the on-screen path table has been shortened for readability, not that the underlying path data disappeared.

The Overview tab gives a fast snapshot per parsed document. Top-level keys or items describe the root shape, total nested keys show how much named structure sits below that root, and sample keys or values help you confirm that you loaded the file you expected. It is a triage screen, useful before you move to more detailed inspection.

The Paths tab is the fine-grained audit. Each row records a document index, a flattened location, the detected type, and a preview value. Empty objects show up as {} and empty arrays as [], which matters because even an empty container may carry meaning in configuration. If a file uses arrays, indexed rows make it clear which scalar value came from which position.

The Schema tab groups those rows by unique path and shows the set of types seen at that location. When a path displays more than one type, slow down before you export. Many downstream systems assume that one setting keeps one stable shape. This grouped view is also the best place to detect paths that are present in one part of the data but absent in another, because the example column gives you a quick reality check without forcing you to scan every row in the path list.

Worked Examples

A short configuration block shows how the tabs diverge:

title = "Demo"

[server]
host = "127.0.0.1"
ports = [8080, 8081]

[logging]
"path/with/slash" = "stdout"

In the structured views, server stays a nested object and ports stays an array. Rebuilt TOML gives you the same typed content back in TOML form. YAML and JSON show the same structure in their own syntax, which is why they are the best choices when another program needs to see the hierarchy rather than a flattened list of values.

If you keep dot path mode, the Paths tab will show rows such as server.host, server.ports[0], and logging["path/with/slash"]. Switch to slash path mode and those same locations become server/host, server/ports/0, and logging/path\/with\/slash. That difference is only about how locations are written, but it changes the key text that appears in properties output and the raw paths you copy from the audit table.

Example flat outputs derived from representative TOML paths
Output Example lines What changed
Env SERVER_HOST=127.0.0.1
SERVER_PORTS_0=8080
LOGGING_PATH_WITH_SLASH=stdout
Dots, brackets, quotes, and slashes are normalized into underscores, and keys can be uppercased
Properties server.host=127.0.0.1
server.ports[0]=8080
logging["path/with/slash"]=stdout
The flattened path text itself becomes the property key
INI [server] with host=127.0.0.1 and ports_0=8080
[logging] with path_with_slash=stdout
The first path segment becomes the section and later segments are sanitized into lowercase underscore keys

Now add comments or custom spacing to the original TOML and the final limitation becomes obvious. The rebuilt tabs still keep the parsed values, but they do not preserve the exact author-written source. If comment placement or original visual layout matters, keep the source file nearby and use this converter as a structural translation aid rather than as the final editing surface.

FAQ:

Does the page tell me whether my application will accept the configuration?

No. It validates TOML syntax and shows the parsed structure, but it does not know your application's schema, required keys, allowed ranges, or environment-specific rules.

Will rebuilt TOML keep my comments and original layout?

No. The result is generated from parsed values, so treat it as a clean rewrite of the data rather than a source-preserving pretty printer.

Why do env and INI keys look different from the original TOML keys?

Those views flatten nested paths and normalize punctuation. Env output can also uppercase keys, while INI output lowercases and sanitizes section and key names. That makes them convenient, but not lossless.

What does the YAML tab's Apply to editor action do?

It replaces the input area with the generated YAML text. That is handy if you want to keep working from that YAML, but the input box is then no longer holding TOML until you paste TOML back in.

If the preview says it was trimmed, do CSV exports lose rows?

No. Trimming only limits the on-screen path preview. Copy and CSV export for the path table still use the full discovered path set.

Glossary:

TOML
A human-oriented configuration format with explicit types, tables, arrays, and date-time values.
Scalar
A single leaf value such as a string, number, boolean, or date-time value, rather than an object or array.
Table
A named mapping in TOML. Tables organize related keys under sections such as [server].
Flattened path
A text path that points to one location inside nested data, such as server.host or server/ports/0.
Schema summary
A grouped view of unique paths showing which types appeared there, how many parsed documents contributed that path, and one example value.

References: