Properties to JSON
This Properties to JSON converter restores Java .properties / i18n resource files into nested JSON. It fully supports line continuations, # and ! comments, \uXXXX escapes and the =, : and whitespace key-value separators, restoring hierarchy from dotted paths and optionally inferring numbers and booleans. Parsing runs locally in your browser and nothing is uploaded.
How to use it
- 1
Paste the Properties text
Supports app.name=x dotted paths, backslash line continuations and # / ! comment lines.
- 2
Set delimiter and type inference
The path delimiter defaults to a dot; with inference on, values such as 8080 and true are restored as numbers and booleans.
- 3
Copy the nested JSON
Hierarchical JSON appears on the right, ready for API config or documentation.
- 4
Use it downstream
Feed the JSON into a tool on this site or into your application code.
Key features
Precise JDK lexer
Parses strictly to the java.util.Properties rules: continuation folding, leading whitespace handling and \t \n \uXXXX escapes are all supported.
Paths restored to nested objects
server.host and server.port are grouped under one server object, with a configurable delimiter.
Escaped keys restored correctly
A \. and \\ in a key are resolved at the path and lexical layers so a key containing a dot is not split in error.
Path conflict detection
When a key is both a scalar and a parent path the tool errors clearly instead of producing an uncertain overwrite.
Comments ignored cleanly
# and ! comment lines are skipped without affecting the resulting structure.
Local and private
Parsing happens in your browser and the data is not uploaded.
Common errors & troubleshooting
- ! Lines starting with # or ! are treated as comments; if a key starts with those characters, escape it with a backslash in the source file.
- ! A single backslash at the end of a physical line means a continuation, and the leading whitespace of the next line is ignored.
- ! When a value looks numeric but must stay text (such as a version number 0.1.0), turn type inference off.
- ! Set the delimiter to match how the file was originally written to rebuild the correct nesting.
Frequently asked questions
Do dotted keys always become nested objects?
By default yes: a.b.c becomes {a:{b:{c}}}. If a key genuinely contains a dot, write a\.b in the source file and the tool treats the escape as a literal dot rather than splitting levels.
How are \uXXXX escapes and non-ASCII text handled?
They are decoded to the corresponding Unicode characters per the JDK rules and output as UTF-8; backslash continuations and \t / \n escapes are restored too.
What does a path conflict message mean?
It means both a=1 and a.b=2 exist: a would have to be a scalar and an object at once, which is structurally impossible. Check the key names and, if needed, use a different delimiter or rename.
Is my data uploaded?
No. Parsing happens locally in your browser.
Related tools
JSON to Properties
Convert JSON to Java .properties key-value config. Nested objects flatten to dotted paths, values are escaped to the java.util.Properties rules, and non-ASCII text is written as UTF-8. Runs locally.
YAML to JSON
Convert YAML to JSON online. Anchors, merge keys and flow syntax are expanded and parsed under the YAML 1.2 core schema, avoiding implicit-type traps such as yes/no and dates. Runs locally.
JSON Formatter
Format, beautify and validate JSON in your browser. Errors point to the exact line and column, and you can indent with 2 spaces, 4 spaces or a tab.
JSON to YAML
Convert JSON to YAML while keeping the original structure, in a format that is easier to read and comment. Conversion errors point to the source position.