Skip to content
DeveloperTools

YAML to Properties

Private

YAML

Properties

About this tool

Paste an application.yml and get the matching application.properties as you type, or flip the direction and turn a properties file into nested YAML. Keys are flattened the way Spring Boot does it: nested keys joined with dots, list items as servers[0], and a bracketed key such as "[org.hibernate.SQL]" kept whole. Several documents in one file map across too — YAML’s --- becomes the #--- separator Spring Boot reads in properties files — and comments and blank lines travel with the key they sit above.

The YAML side reads what configuration files actually use: block and flow collections, quoted strings, literal and folded block scalars, anchors, aliases and << merge keys. Values keep the text you wrote, so version: 1.10 stays 1.10. Going the other way, values that YAML would read as something else — on, off, yes, 010, 1.10, a date — are quoted, so Spring gets back exactly the string it had.

Problems are reported by line and column rather than guessed around: a tab in the indentation, a key indented under a plain value, a duplicate key, or a property such as server.port that is also used as a section by server.port.ssl, which no YAML file can express. Duplicate properties are allowed, as in Java, and the chip below the output lists which ones were overridden.

Nothing you paste is transmitted. The page is static HTML and both parsers run in your tab, so a configuration file full of hostnames, credentials and internal URLs is safe to convert here.

Frequently asked questions

Is my configuration uploaded anywhere?

No. The conversion is plain JavaScript running in your browser, and there is no server endpoint to send it to. You can disconnect from the network after the page loads and it keeps working, which makes it safe for files that hold database passwords or API keys.

Why are some values quoted in the YAML output?

Because Spring Boot reads YAML with SnakeYAML, which follows YAML 1.1: on, off, yes and no become booleans, 010 is an octal number, 1.10 becomes the number 1.1, and 2024-01-01 becomes a date. A properties file holds only strings, so any value that would change type is written in quotes. Plain integers, true and false read back identically and stay bare.

What does "Escape non-ASCII" do?

It writes characters outside ASCII as \uXXXX escapes in the properties output, so é becomes \u00E9. Spring Boot and java.util.Properties read .properties files as ISO-8859-1 by default, where an accented character saved as UTF-8 turns into two garbled ones. Leave it on unless you know the file is read as UTF-8.

How are lists and keys with dots handled?

A YAML list becomes indexed properties — hosts[0], hosts[1] — and those indices become a list again on the way back; a gap in the numbering closes up, because a YAML list has no holes. A key that contains dots of its own, such as a logger name, is written in brackets: logging.level[org.hibernate.SQL]=DEBUG, which is "[org.hibernate.SQL]": DEBUG in YAML.

What is not supported?

Complex keys written with "?", and custom tags, which are read past and not reproduced. Placeholders such as ${DB_PASSWORD} are copied as text rather than resolved, and profile-specific files are converted one at a time.

Is it really free?

Yes, with no account and no usage limit. The site is funded by ads placed around the tool, never inside your working area.

Arrow keys to navigate, Enter to open, Esc to close