YAML ↔ Properties Converter

Convert configuration files between YAML and Properties formats in either direction, with automatic format detection for nested structures, arrays, and comment preservation. Adjust indentation, array style, and string quoting, making it a good fit for Spring Boot application settings.

Paste YAML or Properties, or drop a .yml, .yaml or .properties file here. The direction is picked from what you paste.

Paste YAML or Properties, or open a file. YAML becomes Properties and Properties becomes YAML.

Output

The converted result appears here as you type.

How to Use

  1. Paste YAML or Properties into the input area, open a .yml, .yaml or .properties file, or press Load sample
  2. The format is picked from what you paste — the labels above the two editors show which way it is converting
  3. Open Settings to choose comment handling, indentation, array format and quoting
  4. The result appears as you type — there is no convert button. Fix anything the check line under the editors points to, with its line and column
  5. Press Copy, or Download the converted file as .properties or .yml

Useful Tips

  • Supports bidirectional conversion between YAML and Properties formats
  • Lines starting with # are moved to the top of the result (Preserve Comments is on by default)
  • Fully compatible with Spring Boot configuration files
  • Open files directly or paste content for instant conversion

Working with YAML and Java Properties Configuration

What this converter does

YAML and Java .properties are two ways of writing the same configuration. Properties files store one flat key=value pair per line, using dots to imply hierarchy (server.servlet.context-path=/api). YAML expresses that same hierarchy as real indentation and nesting. This tool reads either format, works out which one you pasted, and rewrites it as the other — expanding dotted keys into a nested tree, or flattening a tree back into dotted paths.

Because the conversion is bidirectional and runs on detected structure rather than a fixed template, a file can make the round trip (YAML → Properties → YAML) with the same keys and values. To keep lists as lists, choose Indexed for the array format — with the default comma-separated style a list comes back as one text value, and # comment lines end up at the top.

When to use it

The most common case is a Spring Boot project migrating between application.properties and application.yml. Teams usually start with properties and switch to YAML once the configuration grows deep enough that dotted keys become hard to read. Going the other direction is just as useful when a tool or deployment pipeline expects flat properties.

It is also handy for quickly diffing two configs, converting a snippet from documentation into the format your project actually uses, or normalising indentation and array style before committing.

Example: a server block

The properties lines server.port=8080 and server.servlet.context-path=/api become a nested YAML block where server contains port: 8080 and a servlet key holding context-path: /api. Convert it back and the dotted keys reappear exactly. Numbers like 8080 stay unquoted so they keep their integer type instead of becoming strings.

Format notes and edge cases

With Preserve Comments on (the default), lines that start with # are moved to the top of the result; a comment at the end of a line is not kept, and a comment does not stay next to the key it described. Going from YAML to Properties, a list becomes one comma-separated value (tools=a,b) or indexed lines (tools[0]=a, tools[1]=b); going from Properties to YAML, indexed lines become a YAML dash list. Adjustable indentation and string-quoting (auto, always, never) let you match your team's style guide. Auto type detection keeps booleans, integers, and null values from being wrapped in quotes.

Frequently Asked Questions

Convert unlimited configuration files between YAML and Properties at no cost, with comment preservation, type auto-detection, and adjustable indentation all included. There are no premium tiers, usage caps, or accounts to create.