Free JSON, YAML and XML Converter: No Sign-up, No Upload
This data converter is free, needs no sign-up or login, and your files never leave your browser. Nothing is uploaded and no watermark or header is added to your output. Paste in a config file or drop a data export, choose the format you want, and save the result from your own device.
Config and data files often hold things that should never be pasted into a random website: API keys in an ENV file, internal hostnames in a YAML manifest, customer records in a JSON export. Here the conversion runs in the tab, so the file is read and rewritten on your device and no server ever sees it. Every data conversion uses the built-in engine, so none needs an extra download.
You can move between JSON, JSON Lines, YAML, XML, TOML, INI, dotenv, Java properties and Apple property lists. Lists of records can become CSV, TSV, a Markdown table or SQL INSERT statements, and JSON or JSON Lines can become an XLSX or ODS spreadsheet. Add many files and download them together as a ZIP.
- Free
- No sign-up
- Never uploaded
- No watermark
Your files are converted on your device and never uploaded.
How to convert
- Add your files by dragging them onto the page or by using the file picker.
- Confirm the detected format of each file, which is read from the content as well as the extension.
- Choose the target format, for example JSON, YAML, XML, TOML or CSV.
- Set the options that appear for that format, such as indentation or the CSV delimiter.
- Press Convert and wait for each file to finish.
- Download a single result directly, or a whole batch as one ZIP.
Features
- Reads JSON, JSON Lines, JSON5, YAML, XML, TOML, INI, ENV, Java properties, PLIST, Hjson, CSV and TSV.
- Writes JSON, JSON Lines, YAML, XML, TOML, INI, ENV, properties, PLIST, CSV, TSV, Markdown table and SQL.
- Runs in your browser with no upload, no sign-up and no watermark.
- No engine download is needed for any data pair.
- JSON and JSON Lines can also be exported as XLSX or ODS.
- Format detection by file content, so a file with the wrong extension is still understood.
- Batch conversion with one ZIP download.
- Options for each target, such as indentation and delimiters.
Supported formats
| Format | Read | Write | Notes |
|---|---|---|---|
| CSV.csv | Yes | Yes | Comma-separated values: one row per line, plain text with no formatting. |
| TSV.tsv | Yes | Yes | Tab-separated values: like CSV but split on tabs. |
| JSON.json | Yes | Yes | JavaScript Object Notation: the usual format for web APIs. |
| JSON Lines.jsonl | Yes | Yes | One JSON value per line, so very large files can be read one record at a time. |
| JSON5.json5 | Yes | No | JSON5 is read only here; convert it to JSON or YAML. |
| YAML.yaml | Yes | Yes | Indentation-based data format that is easy for people to read. |
| Property list (PLIST).plist | Yes | Yes | Apple’s property list: settings stored as XML dictionaries. |
| XML.xml | Yes | Yes | Extensible Markup Language: tagged, self-describing text defined by the W3C. |
| TOML.toml | Yes | Yes | Tom’s Obvious Minimal Language: INI-like configuration with real data types. |
| INI.ini | Yes | Yes | Simple sections of key=value lines, from early Windows configuration. |
| dotenv (ENV).env | Yes | Yes | KEY=value lines loaded as environment variables by many tools. |
| Java properties.properties | Yes | Yes | Key-value configuration files used by Java applications. |
| Hjson.hjson | Yes | No | Hjson is read only here; convert it to JSON or YAML. |
| Markdown table.md | No | Yes | A table written with pipes and dashes, rendered by GitHub and most Markdown tools. |
| SQL INSERT.sql | No | Yes | A script of INSERT statements that loads the rows into a database table. |
About the formats
JSON, JSON Lines, JSON5 and Hjson
JSON is the usual format for web APIs: human-readable text that is strict about quotes and commas. JSON Lines stores one JSON value per line, so very large files can be read one record at a time, which is why it is common for logs and machine-learning datasets.
JSON5 and Hjson are friendlier cousins that allow comments, trailing commas and unquoted keys, meant for hand-edited config files. Both can be read here but not created, so converting them to plain JSON or YAML is the usual way to get a file that every parser accepts.
YAML, TOML, INI, ENV and properties
YAML is indentation-based and easy for people to read, and it is used for configuration in Docker Compose, Kubernetes and many CI tools. TOML is INI-like configuration with real data types, used by Cargo and by the pyproject.toml file in Python projects.
INI is simple sections of key=value lines from early Windows configuration, with no standard, so details differ between programs. ENV holds KEY=value lines loaded as environment variables, and Java properties are key-value files that often carry translated interface strings. These flat formats convert naturally to JSON, YAML, XML and TOML and back to each other.
XML and PLIST
XML is tagged, self-describing text defined by the W3C. It is more verbose than JSON but supports attributes and namespaces, and those have no direct equivalent in JSON or YAML, so a conversion has to choose how to represent them. A property list (PLIST) is Apple settings stored as XML dictionaries, used by macOS and iOS apps.
Tables: CSV, TSV, Markdown table and SQL
CSV and TSV are plain text tables, one row per line. When you convert a list of records to CSV, TSV, a Markdown table or SQL, give every record the same fields for clean columns. A Markdown table is written with pipes and dashes and renders on GitHub, and SQL INSERT output is a script that loads the rows into a database table.
These two targets are write-only: you can create a Markdown table or SQL script from your data, but they are not offered as a source. Nested objects do not fit a flat table well, so flatten them first if you need clean columns.
Choosing between JSON, YAML and TOML
JSON is the safest choice for exchanging data between programs because every language can parse it. YAML and TOML are written for people, with comments and less punctuation, which makes them better for config files you edit by hand. Comments cannot survive a trip through JSON, so keep the original when comments matter.
Privacy: how it works
- Your data files stay on your device. The page reads each file with the browser's file API, converts it with code running in the tab, and hands the result back as a download. No upload happens, so there is no copy of your file on our servers to protect, delete or leak.
- There is nothing to sign up for and no login. The converter does not ask for an email address, and it does not need to know who you are to do its job.
- You can check the claim yourself: open your browser developer tools, watch the Network tab while a file converts, and you will see no request that carries your file.
- Config files such as ENV and properties often contain passwords and tokens. Converting them here is safe in the sense that nothing is sent anywhere, but keep the output out of version control and shared folders, and never commit an ENV file that holds secrets.
Tips
- Validate the result in the program that will use it, because each parser has small quirks.
- Expect comments in YAML, TOML, INI and JSON5 to be lost when you convert to JSON.
- Flatten nested objects before exporting to CSV, TSV or SQL, since those formats are flat tables.
- Use JSON Lines instead of one huge JSON array when a file is too large to open comfortably.
- For a Markdown table, keep the cell text short so it stays readable on GitHub.
- Check number and boolean types after converting from INI, ENV or properties, because those formats store everything as text.
- Convert JSON5 or Hjson to JSON before sending the file to a tool that is strict about syntax.
- Keep secrets out of shared output: an ENV file converted to JSON still contains every secret.
- Convert a small sample first when you are unsure how an option changes the layout.
Frequently asked questions
Is it really free?
Yes. There is no price, no trial, no credit card and no watermark added to your results. Ulkaa Tool does the conversion with your own device, so there is no server bill to pass on to you.
Are my files uploaded?
No. Your data files are read and converted inside your browser and are never sent to Ulkaa or to anyone else. The result is created on your device and you save it from there.
Do I need an account?
No. There is no sign-up and no login. Open the page, add your files and convert. An Ulkaa account is not needed for anything on this tool.
Is there a file size limit?
No limit is set by us. The real limit is your device: the conversion uses your own memory and processor, so very large files can be slow, and a very big batch may need to be split into smaller runs.