Properties to YAML Converter
Convert a Java .properties file into nested YAML, handling escapes, line continuations and indexed keys.
Drop an application.properties here, or tap to browse. Nothing is uploaded.
How it works
Paste a Java .properties file on the left and the YAML equivalent is written
on the right as you type. The parser follows the java.util.Properties load
format exactly: =, : or plain whitespace all separate a key from
its value, lines starting with # or ! are comments, a trailing
backslash continues the entry on the next line (with that line's leading whitespace
stripped), and the escapes \t, \n, \r,
\f, \\, \=, \: and
\uXXXX are decoded. Duplicate keys behave like Java does: the last one wins.
In Nested mode the dots in a key become YAML levels, so
server.compression.enabled=true turns into a nested server:
block, and indexed keys such as app.servers[0].host become a proper YAML
list. That is the shape Spring Boot expects in an application.yml. A dot you
escaped as \. stays part of the key. Choose Flat to keep
every key exactly as written, which is always lossless.
Values that look like numbers or true/false are written as YAML
numbers and booleans; anything ambiguous stays a quoted string, so 007,
1.4.0, yes and very long IDs are not silently mangled. Tick
"Keep every value as text" to switch that off entirely. Comments cannot be mapped onto
individual YAML keys, so only the header comment block at the top of the file is carried
over. Everything runs in JavaScript on your device: nothing is uploaded, which matters
when your properties file holds database URLs, tokens or passwords.
Frequently asked questions
How do I convert application.properties to application.yml?
Paste the contents of your .properties file into the left box and the YAML appears on the right as you type, no button to press. Dots in a key become YAML levels, so server.compression.enabled=true turns into a nested server: block, and indexed keys like app.servers[0].host become a real YAML list. Then use Copy YAML or Download .yml and drop the file into src/main/resources next to (or instead of) the properties file. Pick 2 or 4 space indentation first if your project has a house style.
Does it handle line continuations, escapes and Unicode properly?
Yes. The parser follows the java.util.Properties load format rather than just splitting on the first equals sign. Keys and values can be separated by =, : or plain whitespace, lines beginning with # or ! are comments, a trailing backslash continues an entry on the next line with that line's leading whitespace stripped, and the escapes \t, \n, \r, \f, \\, \=, \: and \uXXXX are decoded. A dot you escaped as \. stays part of the key instead of creating a new YAML level, and duplicate keys behave like Java does: the last one wins.
Why are some values quoted in the YAML output?
Because YAML would otherwise change what they mean. SnakeYAML, which Spring Boot uses, follows YAML 1.1, where bare yes, no, on and off are booleans, and 007 could be read as a number. Anything ambiguous is written as a quoted string, so version numbers like 1.4.0, zero-padded ids and very long numeric ids survive untouched, while genuine numbers and true/false are written as real YAML scalars. Tick "Keep every value as text" to quote everything, or switch Keys to "Flat" to keep every key exactly as written, which is always lossless.