Free online JSON obfuscator. Just load your JSON in the input field and all data in it will automatically get obfuscated. In the tool options, you can select the obfuscation methods to use, such as mangling data via surrogate pair, hexadecimal, and code point escape codes, randomizing hexadecimal escape code case and padding, and changing the order of JSON object keys. Created for developers by developers from team Browserling.
Free online JSON obfuscator. Just load your JSON in the input field and all data in it will automatically get obfuscated. In the tool options, you can select the obfuscation methods to use, such as mangling data via surrogate pair, hexadecimal, and code point escape codes, randomizing hexadecimal escape code case and padding, and changing the order of JSON object keys. Created for developers by developers from team Browserling.
This tool obfuscates JSON (JavaScript Object Notation) data files. JSON obfuscation is the process of transforming JSON data in a way that makes it difficult to read or decode, while still keeping it valid for parsing and processing. Obfuscating JSON can help protect confidential data (such as an API key) and make JavaScript code more difficult to understand. This tool provides several methods for obfuscating JSON. The main obfuscation method involves encoding textual data using escape codes. For example, the string "hi" can be transformed into a sequence of Unicode surrogate pairs "\u0068\u0069". This string still remains a valid string in the code, only it's representation has been changed from the plain text to an escape sequence. String representation in the "\uHHHH" or "\uHHHH\uHHHH" format, where H is a hexadecimal digit, is called "Surrogate Pair Encoding". The form "\uHHHH" is used when a character or grapheme is from the BMP (Basic Multilingual Plane) and the form "\uHHHH\uHHHH" is used when a character or grapheme is from other Unicode planes. In addition to surrogate pairs, you can also convert characters in strings into "Hex Byte Encoding", which have the form "\xHH". You can also convert characters into "Code Point Encoding", which have the form "\u{HHHHH}", that represents a charecter's Unicode code point. The hex byte encoding and code point encoding work only in JavaScript code but the surrogate pair encoding also works in raw JSON objects. During obfuscation, the program randomly applies one of these three encoding types to textual data. In the options, you can enable or disable the use of specific encoding types. For example, if you activate two options, "Encode with Code Points" and "Leave Original Symbols", then approximately 50% of the string's characters will have be printed using escape codes, while the other 50% will remain unchanged. Object keys are not escaped by default, but you can enable the checkbox in the options to obfuscate the keys as well. Additional obfuscation methods allow adding even more randomness to the output JSON. In particular, you can choose whether to use uppercase or lowercase format for all hexadecimal escape codes, or use a random case that changes each time a new code generated. Also, you can randomize the padding (it's the number of zeros before a hexadecimal number) of escape codes and randomly change the order of keys in JSON objects. After obfuscation, you can choose the JSON output format. For a clearer and more understandable code structure, you can use space or tab indentation, while for a more obfuscated structure, you can use minimized JSON format, which omits all unnecessary spaces from the data structure. Coming soon, you'll also be able to obfsucate JSON via JavaScript expressions by turning numbers into obscure numerical expressions (such as "(+[])" for "0", and "+!![]" or "-~[]" for "1"), and by turning booleans into obscure code expressions (such as "!![]" for "true" and "![]" for "false"). Additionally, coming soon, you'll be able to randomize JSON indentation and make the output JSON very hard to understand, almost as if Zalgo himself had tampered with it. Json-abulous!
This tool obfuscates JSON (JavaScript Object Notation) data files. JSON obfuscation is the process of transforming JSON data in a way that makes it difficult to read or decode, while still keeping it valid for parsing and processing. Obfuscating JSON can help protect confidential data (such as an API key) and make JavaScript code more difficult to understand. This tool provides several methods for obfuscating JSON. The main obfuscation method involves encoding textual data using escape codes. For example, the string "hi" can be transformed into a sequence of Unicode surrogate pairs "\u0068\u0069". This string still remains a valid string in the code, only it's representation has been changed from the plain text to an escape sequence. String representation in the "\uHHHH" or "\uHHHH\uHHHH" format, where H is a hexadecimal digit, is called "Surrogate Pair Encoding". The form "\uHHHH" is used when a character or grapheme is from the BMP (Basic Multilingual Plane) and the form "\uHHHH\uHHHH" is used when a character or grapheme is from other Unicode planes. In addition to surrogate pairs, you can also convert characters in strings into "Hex Byte Encoding", which have the form "\xHH". You can also convert characters into "Code Point Encoding", which have the form "\u{HHHHH}", that represents a charecter's Unicode code point. The hex byte encoding and code point encoding work only in JavaScript code but the surrogate pair encoding also works in raw JSON objects. During obfuscation, the program randomly applies one of these three encoding types to textual data. In the options, you can enable or disable the use of specific encoding types. For example, if you activate two options, "Encode with Code Points" and "Leave Original Symbols", then approximately 50% of the string's characters will have be printed using escape codes, while the other 50% will remain unchanged. Object keys are not escaped by default, but you can enable the checkbox in the options to obfuscate the keys as well. Additional obfuscation methods allow adding even more randomness to the output JSON. In particular, you can choose whether to use uppercase or lowercase format for all hexadecimal escape codes, or use a random case that changes each time a new code generated. Also, you can randomize the padding (it's the number of zeros before a hexadecimal number) of escape codes and randomly change the order of keys in JSON objects. After obfuscation, you can choose the JSON output format. For a clearer and more understandable code structure, you can use space or tab indentation, while for a more obfuscated structure, you can use minimized JSON format, which omits all unnecessary spaces from the data structure. Coming soon, you'll also be able to obfsucate JSON via JavaScript expressions by turning numbers into obscure numerical expressions (such as "(+[])" for "0", and "+!![]" or "-~[]" for "1"), and by turning booleans into obscure code expressions (such as "!![]" for "true" and "![]" for "false"). Additionally, coming soon, you'll be able to randomize JSON indentation and make the output JSON very hard to understand, almost as if Zalgo himself had tampered with it. Json-abulous!
In this example, we obfuscate an array of ocean names by converting them to Unicode surrogate pair escape sequences. As both options – "Encode with Surrogate Pairs" and "Leave Original Symbols" – are selected, the program converts approximately 50% of characters in the strings to surrogate pairs in the "\uHHHH" format and leaves the other 50% of characters unchanged (so you get a mix of escaped and non-escaped characters).
In this example, we obfuscate a JSON object representing information about an art museum. We combine multiple obfuscation techniques for maximum obscurity. Text data is encoded using a mix of surrogate pairs, hexadecimal bytes, and code points. Additionally, we randomize the order of JSON keys, randomize the case of hex values, and randomly add padding to hex codes. Please note that hexadecimal byte and code point encodings need a JavaScript interpreter as raw JSON objects support only surrogate pair encoding.
This example enables all possible obfuscation methods to maximize the obscurity of a JSON array of nested objects. All methods are turned on: changing all textual data (in object keys and values) to various escape sequences, changing object key order, using uppercase and lowercase digits for hexadecimal characters, and adding extra hex padding. Additionally, the output JSON is minified for highly obfuscated result.
You can pass input to this tool via ?input query argument and it will automatically compute output. Here's how to type it in your browser's address bar. Click to try!
Find keys and/or values that interest you in a JSON file.
Create a text list from a JSON array or object.
Create a JSON array from a text list.
Generate HTTP form data from a JSON object.
Generate JSON object from HTTP form data.
Create a HTML table from keys and values of a JSON object.
Convert a JSON file to a CSON file.
Convert a CSON file to a JSON file.
Convert a JSON config to a TOML config.
Convert a TOML file to a JSON file.
Convert a JSON data structure to Bencode encoding.
Convert Bencode data to JSON data.
Convert a JSON file to a JSONL file.
Convert a JSONL file to a JSON file.
Convert binary JSON data structure (BSON) to JSON.
Convert a JSON file to a universal binary JSON (UBJSON).
Convert universal binary JSON (UBJSON) to regular JSON.
Serialize JSON data to binary MessagePack format.
Unserialize binary MessagePack to a JSON struct.
Serialize JSON data to binary Protobuf format.
Unserialize binary Protobuf to a JSON struct.
Generate a LaTeX table from a JSON object.
Convert a JSON data file to an INI configuration file.
Convert an INI configuration file to JSON data file.
Loop over JSON structure and truncate all values or keys.
Find the nesting depth of a JSON data structure.
Convert a JSON data structure to a data URL.
Create a PHP data structure from a JSON data structure.
Create a JSON data structure from a PHP data structure.
Diff JSON files and show differences visually.
Lexicographically sort the order of JSON object keys.
Exchange keys with values in a JSON file.
Create a JSON array with random values.
Create a JSON object with random keys and values.
Randomly change the positions of array elements.
Randomly change the order of key, value pairs.
Add random spaces and newlines in a JSON file.
Tokenize a JSON data structure.
Remove all JSON syntax and leave just the values.
Change curly braces, commas, and quotes to other symbols.
Fix incorrectly quoted (usually single quote) keys and values.
Make all keys and values in a JSON to be single-quoted.
Make all keys and values in a JSON to be double-quoted.
Create JSON that looks real but is fake (FakeSON).
Execute a jq query on a JSON data structure.
Filter keys and values that match a pattern.
Create a JSON array from a string.
Create groups of JSON array items.
Merge two or more JSON arrays together.
Find differences in two or more JSON arrays.
Merge two or more JSON objects together.
Introduce errors in a JSON data structure.
Try to fix a damaged JSON to the best of our ability.
Convert images to valid JSON strings that look like ASCII art.
Create an abstract visualization of JSON's complexity.
Subscribe to our updates. We'll let you know when we release new tools, features, and organize online workshops.
Enter your email here
We're Browserling — a friendly and fun cross-browser testing company powered by alien technology. At Browserling, our mission is to make people's lives easier, so we created this collection of JSON tools. Our tools have the simplest user interface that doesn't require advanced computer skills and they are used by millions of people every month. Behind the scenes, all JSON tools are actually powered by our web developer tools that we created over the last couple of years. Check them out!