Zero Signup ToolsFree browser tools

Converter Tools

YAML to Properties Converter

Convert YAML to Java .properties and back in your browser. Flatten application.yml to dotted keys with list indexes, or rebuild nested YAML. No signup.

439 chars

Masking only affects the preview below, never the converted output.

Flat key preview

Keys

12

Secret-shaped

1

Output bytes

441

Dotted keyValue
spring.application.namebilling-service
spring.datasource.urljdbc:postgresql://db.example.com:5432/billing
spring.datasource.usernamebilling
spring.datasource.passwordsecrets3cr3t:with=special#chars
spring.servlet.multipart.enabledtrue
spring.servlet.multipart.max-file-size25MB
server.port8080
server.compression.enabledtrue
app.feature-flags[0]new-checkout
app.feature-flags[1]dark-mode
app.retry.attempts5
app.retry.backoff1.5

Warnings

No warnings. Input parsed and converted cleanly.

List binding: YAML sequences become indexed keys like app.servers[0] and app.servers[1], the form Spring relaxed binding reads back into a List. Going the other way, indexed keys rebuild the sequence.

Round-trip note: .properties values are plain text, so 5 and true are re-typed to a number and a boolean when emitting YAML. A value you want kept as a string can be quoted in the YAML output.

Privacy: parsing and conversion run entirely in your browser. Nothing is uploaded.

How the formats map

Nesting becomes dots

A nested YAML map (spring: datasource: url:) flattens to a single dotted key (spring.datasource.url). Spring Boot reads both files and treats the dotted key and the nested key as the same property.

Lists become indexes

A YAML sequence under a key becomes name[0], name[1], and so on. An indexed .properties key rebuilds the list in order when converting back to YAML.

Separators and comments

.properties accepts = , : , or whitespace as the separator and treats # and ! as comments. YAML uses key: value and # comments. Both are handled on input. Comments themselves are not carried into the output.

Escaping

.properties values escape = : # ! and non-ASCII as \\uXXXX so the file re-reads exactly. YAML values are quoted only when a plain string would be misread, for example a value with a leading space or one that looks like a number.

How to use

  1. Pick a direction: YAML to .properties or .properties to YAML. The toggle at the top swaps the input and output panels.
  2. Paste your config into the input box, or click Load sample to start with a realistic Spring Boot example that exercises nested maps, lists, and quoted values.
  3. Read the converted output on the right. YAML to .properties flattens nested keys to dotted keys and lists to indexed keys; .properties to YAML rebuilds the nested structure.
  4. Check the flat key preview and the warnings panel for duplicate keys, empty collections, or values that look like secrets. Turn on masking to hide secret values in the preview only.
  5. Click Swap direction to feed the current output back as the new input, then use Copy output to grab the result or Clear input to start over.

About this tool

YAML to Properties Converter is a two-way converter between YAML configuration (the application.yml style used by Spring Boot, Micronaut, Quarkus, and many CI files) and Java-style .properties files (application.properties, java.util.Properties, log4j, and similar). Spring Boot reads either format and treats them as equivalent, so teams constantly move between the two: a service starts life with an application.properties file and later adopts the more readable nested YAML, or a YAML config has to be flattened into dotted keys to override a single value through an environment or a command line argument. This tool automates that transform in both directions. Converting YAML to .properties flattens the document: each nested map becomes a single dot-joined key, so a key under spring then datasource then url becomes spring.datasource.url, and a YAML sequence becomes indexed keys like servers[0] and servers[1], which is exactly the bracket form Spring relaxed binding reads back into a List. Every key and value is escaped the way java.util.Properties expects, so separators (= : # !) are backslash-escaped, a leading space is protected, and any non-ASCII character is written as a \uXXXX escape, which means the generated file re-reads byte for byte. Converting .properties to YAML does the reverse: each dotted key is split into nested mappings, a name[N] segment rebuilds the N-th element of a sequence, and leaf values are quoted in the YAML output only when a plain string would be misread, for example a value that has a leading space or one that looks like a number or a boolean. The .properties parser handles the real rules of the format, including = , : , or whitespace as the key and value separator, both # and ! comment markers, backslash line continuations, and the standard escape sequences. The YAML reader covers the common configuration subset: block mappings and sequences nested by indentation, plain and quoted scalars, single-line flow collections such as [a, b] and {x: 1}, comments, and the document start marker, with clear line-numbered errors for things it does not guess at such as tab indentation or multi-document streams. A flat key preview lists every resulting dotted key and value with an optional mask for entries whose names look like secrets, and a warnings panel reports duplicate keys, empty collections that have no .properties form, and structural conflicts. One caveat worth stating plainly: .properties values are always plain text on disk, so when emitting YAML the tool re-types values that look like numbers or booleans, and converting all the way back is not guaranteed to be byte identical because YAML carries types that the flat format does not. Comments are not carried across either direction. Everything runs locally in your browser, so the configuration you paste, including any secrets it contains, is never uploaded.

Free to use. Works in your browser. No signup, no login.

Related tools

You may also like

All tools
All toolsConverter Tools