Our Network


Coming Soon


Coming Later

JSON Obfuscator

World's Simplest JSON Tool

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.

JSON Obfuscator

World's Simplest JSON Tool

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.

Tool Options

String Obfuscation

Use Unicode surrogate pair escape sequences (e.g., "\uHHHH").
Use hexadecimal byte escape sequences (e.g., "\xHH"). (Works in JavaScript only.)
Use Unicode code point escape sequences (e.g., "\u❴HHHHH❵"). (Works in JavaScript only.)
Preserve original symbols without encoding them.

Other Data Type Obfuscation

Also rewrite object keys as escape codes.
Select case for digits in hexadecimal escape codes.
Add random number of zeros before hexadecimal numbers.
Randomize the order of keys in JSON objects.

JSON Output

Format JSON with space indentation.
Specify the number of spaces for indentation.
Format JSON with tab indentation.
Output JSON minified, without any indentation.

What Is a JSON Obfuscator?

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!

What Is a JSON Obfuscator?

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!


JSON Obfuscator Examples

Click to try!
click me

Obfuscate a JSON Array via Surrogate Pairs

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).

["Pacific", "Atlantic", "Indian", "Southern", "Arctic"]
[ "P\u0061\u0063i\u0066\u0069\u0063", "\u0041tl\u0061\u006eti\u0063", "\u0049ndian", "\u0053\u006futhern", "\u0041\u0072cti\u0063" ]
Required options
These options will be used automatically if you select this example.
Use Unicode surrogate pair escape sequences (e.g., "\uHHHH").
Use hexadecimal byte escape sequences (e.g., "\xHH"). (Works in JavaScript only.)
Use Unicode code point escape sequences (e.g., "\u❴HHHHH❵"). (Works in JavaScript only.)
Preserve original symbols without encoding them.
Also rewrite object keys as escape codes.
Select case for digits in hexadecimal escape codes.
Add random number of zeros before hexadecimal numbers.
Randomize the order of keys in JSON objects.
Format JSON with space indentation.
Specify the number of spaces for indentation.
click me

Apply Multiple Obfuscation Encodings

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.

{ "name": "The Met", "type": "art museum", "street": "1000 Fifth Avenue", "city": "New York City", "country": "United States" }
{ "city": "\u{0004E}\u0065\u{00077}\u0020\u0059\u{6F}\x72\u006B\u{0020}\u0043\x69\u0074\u0079", "type": "\u{00061}\u0072\u{74}\x20\u{6d}\x75\x73\u0065\u{75}\u{6d}", "name": "\u{54}\u0068\u0065\u{00020}\u{04d}\u{0065}\u{0074}", "street": "\u{0031}\u0030\u0030\x30\u0020\u0046\x69\x66\u{0074}\u0068\u0020\u{41}\x76\u0065\u{6e}\x75\u0065", "country": "\u0055\x6E\u{0069}\u{74}\x65\x64\u{20}\u0053\u{0074}\u{61}\u{74}\u{0065}\x73" }
Required options
These options will be used automatically if you select this example.
Use Unicode surrogate pair escape sequences (e.g., "\uHHHH").
Use hexadecimal byte escape sequences (e.g., "\xHH"). (Works in JavaScript only.)
Use Unicode code point escape sequences (e.g., "\u❴HHHHH❵"). (Works in JavaScript only.)
Preserve original symbols without encoding them.
Also rewrite object keys as escape codes.
Select case for digits in hexadecimal escape codes.
Add random number of zeros before hexadecimal numbers.
Randomize the order of keys in JSON objects.
Format JSON with tab indentation.
click me

Maximally Obfuscate a JSON Data Structure

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.

[ { "name": "Wikipedia", "founder": ["Jimmy Wales", "Larry Sanger"], "founded": 2001 }, { "name": "YouTube", "founder": ["Steve Chen", "Chad Hurley", "Jawed Karim"], "founded": 2005 } ]
[{"\x66\u006F\x75n\u{00064}\x65\u{64}":2001,"\x6e\x61\u006d\u0065":"W\u{069}\x6B\u0069\u0070\u{65}\x64i\x61","\u{066}ou\u{6e}\x64\x65\u{00072}":["\x4A\u0069\u006d\u{0006D}\u0079\x20\u{57}\x61\u{6C}\u0065\x73","L\x61r\u{72}\u0079\x20\u0053\u0061\x6E\x67\u{65}r"]},{"\u{6E}\x61\u006D\u0065":"\u0059\u{006F}\u{075}\x54\x75b\x65","f\x6fu\u006E\x64\u{065}\u{0064}":2005,"\x66\u{0006f}u\u{6e}\u0064\u0065\u{72}":["\u{53}\u{074}\u0065\u0076\u0065\u{020}C\u{68}\u0065\u{0006E}","C\x68\x61\x64 \u0048\u{075}\u{72}\u006Ce\u{079}","\x4aa\u{077}\u0065\x64\u0020\u{0004B}\u{61}\u{72}\x69\x6D"]}]
Required options
These options will be used automatically if you select this example.
Use Unicode surrogate pair escape sequences (e.g., "\uHHHH").
Use hexadecimal byte escape sequences (e.g., "\xHH"). (Works in JavaScript only.)
Use Unicode code point escape sequences (e.g., "\u❴HHHHH❵"). (Works in JavaScript only.)
Preserve original symbols without encoding them.
Also rewrite object keys as escape codes.
Select case for digits in hexadecimal escape codes.
Add random number of zeros before hexadecimal numbers.
Randomize the order of keys in JSON objects.
Output JSON minified, without any indentation.

Pro tips Master online json tools

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!

https://onlinetools.com/json/obfuscate-json?input=%5B%22Pacific%22%2C%20%22Atlantic%22%2C%20%22Indian%22%2C%20%22Southern%22%2C%20%22Arctic%22%5D&use-hex-bytes=false&use-surrogate-pairs=true&use-code-points=false&use-original-symbols=true&obfuscate-keys=false&hex-case=lowercase&randomize-padding=false&change-key-order=false&use-space-indent=true&number-of-spaces=2

All JSON Tools

Didn't find the tool you were looking for? Let us know what tool we are missing and we'll build it!
Quickly color-code the syntax of a JSON file.
Quickly beautify a JSON data structure.
Quickly compress a JSON file.
Quickly convert JavaScript data to a JSON string.
Quickly convert a JSON string to JavaScript data.
Quickly check JSON for errors and report them.
Quickly escape special JSON characters.
Quickly unescape an escaped JSON string.
Quickly convert a JSON data structure to an XML file.
Quickly convert an XML file to a JSON data structure.
Quickly convert a JSON data structure to a YAML markup.
Quickly convert a YAML markup to a JSON data structure.
Quickly convert a JSON file to a TSV file.
Quickly convert TSV data to a JSON file.
Quickly convert a JSON file to a CSV file.
Quickly convert CSV data to JSON data.
Quickly convert a JSON structure to binary JSON encoding.
Quickly convert JSON to a PNG, GIF, JPG, or BMP image.
Quickly create a screenshot from JSON code.
Quickly encode JSON to base64.
Quickly decode base64 to JSON.
Quickly convert JSON to URL-encoding.
Quickly convert URL-escaped JSON back to JSON.
Quickly convert JSON data to plain text.
Quickly edit a JSON file in a neat JSON editor in your web browser.
Quickly extract keys from objects in JSON data.
Quickly extract values from objects in JSON data.
Quickly reduce the nesting level of an array of arrays.
Quickly create a single-level JSON object from nested JSON objects.
Quickly rewrite JSON strings, keys, and values using escape codes.
Quickly obfuscate a JSON data structure.
Quickly remove certain information from a JSON data structure.
Quickly display detailed information about a JSON data structure.
Quickly convert a JSON file to properties file.
Quickly convert a properties file to a JSON file.

Coming Soon

These JSON tools are on the way!
Find JSON Keys/Values

Find keys and/or values that interest you in a JSON file.

Convert JSON to a List

Create a text list from a JSON array or object.

Convert a List to JSON

Create a JSON array from a text list.

Convert JSON to Form Data

Generate HTTP form data from a JSON object.

Convert Form Data to JSON

Generate JSON object from HTTP form data.

Convert JSON to HTML

Create a HTML table from keys and values of a JSON object.

Convert JSON to CSON

Convert a JSON file to a CSON file.

Convert CSON to JSON

Convert a CSON file to a JSON file.

Convert JSON to TOML

Convert a JSON config to a TOML config.

Convert TOML to JSON

Convert a TOML file to a JSON file.

Convert JSON to Bencode

Convert a JSON data structure to Bencode encoding.

Convert Bencode to JSON

Convert Bencode data to JSON data.

Convert JSON to JSONL

Convert a JSON file to a JSONL file.

Convert JSONL to JSON

Convert a JSONL file to a JSON file.

Convert BSON to JSON

Convert binary JSON data structure (BSON) to JSON.

Convert JSON to UBJSON

Convert a JSON file to a universal binary JSON (UBJSON).

Convert UBJSON to JSON

Convert universal binary JSON (UBJSON) to regular JSON.

Convert JSON to Message Pack

Serialize JSON data to binary MessagePack format.

Convert Message Pack to JSON

Unserialize binary MessagePack to a JSON struct.

Convert JSON to Protobuf

Serialize JSON data to binary Protobuf format.

Convert Protobuf to JSON

Unserialize binary Protobuf to a JSON struct.

Convert JSON to a LaTeX Table

Generate a LaTeX table from a JSON object.

Convert JSON to INI

Convert a JSON data file to an INI configuration file.

Convert INI to JSON

Convert an INI configuration file to JSON data file.

Truncate JSON

Loop over JSON structure and truncate all values or keys.

Find JSON Depth

Find the nesting depth of a JSON data structure.

Convert JSON to a Data URI

Convert a JSON data structure to a data URL.

Convert JSON to a PHP Array

Create a PHP data structure from a JSON data structure.

Convert a PHP array to JSON

Create a JSON data structure from a PHP data structure.

Compare Two JSON Files

Diff JSON files and show differences visually.

Sort JSON Object Keys

Lexicographically sort the order of JSON object keys.

Swap JSON Keys with Values

Exchange keys with values in a JSON file.

Create a Random JSON Array

Create a JSON array with random values.

Create a Random JSON Object

Create a JSON object with random keys and values.

Randomize a JSON Array

Randomly change the positions of array elements.

Randomize a JSON Object

Randomly change the order of key, value pairs.

Add Spacing to JSON

Add random spaces and newlines in a JSON file.

Tokenize JSON

Tokenize a JSON data structure.

Remove JSON Syntax

Remove all JSON syntax and leave just the values.

Change JSON Syntax

Change curly braces, commas, and quotes to other symbols.

Fix Quotes in JSON

Fix incorrectly quoted (usually single quote) keys and values.

Use Single Quotes in JSON

Make all keys and values in a JSON to be single-quoted.

Use Double Quotes in JSON

Make all keys and values in a JSON to be double-quoted.

Generate FakeSON

Create JSON that looks real but is fake (FakeSON).

Run jq

Execute a jq query on a JSON data structure.

Filter JSON

Filter keys and values that match a pattern.

Split a String into a JSON Array

Create a JSON array from a string.

Group a JSON Array

Create groups of JSON array items.

Merge JSON Arrays

Merge two or more JSON arrays together.

Compare JSON Arrays

Find differences in two or more JSON arrays.

Merge JSON Objects

Merge two or more JSON objects together.

Damage JSON

Introduce errors in a JSON data structure.

Fix JSON

Try to fix a damaged JSON to the best of our ability.

Create JSON Art

Convert images to valid JSON strings that look like ASCII art.

Visualize a JSON Structure

Create an abstract visualization of JSON's complexity.


Subscribe!

Subscribe to our updates. We'll let you know when we release new tools, features, and organize online workshops.

Enter your email here


Feedback. We'd love to hear from you! 👋

Created with love by

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!

49K
@browserling

Didn't find the tool you were looking for? Let us know what tool we are missing and we'll build it!