Cookies This site keeps only what it needs to work. There is no analytics and no advertising on it today, and nothing here follows you to other sites. Read the privacy policy

Choose what to allow
+92 312 8299940Free Quote
Free tool, nothing to install

JSON Diff Online
Compare By Meaning, Not By Lines

This JSON diff online tool compares two documents and lists every value that was added, removed or changed. It reads JSON, XML and YAML, right in your tab.

  • FreePrice
  • 3Formats
  • NoneSign-up
  • NoneUploads

JSON Diff

Compare two JSON, XML or YAML documents by meaning, not by lines

Added
0
Removed
0
Changed
0
Unchanged
0

    Ready. Paste a document on each side and the differences appear.

    Your browser does all of the work here, in this tab. We upload nothing, store nothing and log nothing.
    The short version

    Why Use A JSON Diff Online

    A normal text diff compares lines. That works for prose. It fails for data. If one tool saves keys in a new order, every line looks changed, and the real change hides in the noise.

    This JSON diff online tool compares meaning. Two objects with the same keys are the same object, whatever the order. So you only see what really differs.

    Paste the old version on the left and the new one on the right. The list of changes appears at once. Each row shows a path, such as $.stock.shop, and the old and new value.

    The tool also reads XML and YAML. So you can compare two config files, two API replies or two exports, even in different formats.

    Developers use this for many jobs. For example, you can check a config before a release. Or you can compare an API reply before and after a deploy. Then you know what really changed. Also, a support team can compare two exports from a customer and find the one field that differs.

    Added, Removed And Changed

    Every difference falls into one of three groups. Added means the key exists only on side B. Removed means it exists only on side A. Changed means both sides have it, with different values.

    Drawing of two JSON documents side by side with coloured lines linking an added key, a removed key and a changed value to a list of changes
    Two documents in, one list of changes out.

    Each group has its own colour and its own word, so you never rely on colour alone. Four counters sit above the list. Tick or untick a group to show only the rows you want.

    A type change counts as a change. For example, the number 1 and the text "1" are different, and the tool says so.

    Paths follow the JSONPath style. The root is a dollar sign. A key adds a dot and its name, and a list item adds its position in square brackets. So you can copy a path and use it in your own code.

    JSON Compare Online, Ignoring Order

    Lists are different. In a list, order often matters. But sometimes it does not, such as a list of tags. Tick Ignore the order of list items, and the tool matches equal items wherever they sit.

    JSON diff tool with the ignore order option ticked, showing that two lists with the same tags in a different order have no differences
    Same tags, new order, no difference.

    Items that have no equal partner get paired by position, so you still see what changed inside them. Items with no partner at all show as added or removed.

    Match List Items By A Key

    Lists of records need a better rule. Think of a list of products, each with an id. If the order changes, a position check reports chaos.

    JSON diff tool matching two product lists by the id key and listing one changed price and one added product
    Records pair up by id, not by position.

    Type id in the match field. Now the tool pairs each product with its twin by id, and compares only the twins. A price change shows up as one row.

    Products that exist on one side only show as added or removed. That is exactly what you want when you diff two exports.

    Skip The Noise

    Some fields change on every save. A timestamp. A version counter. A request id. They bury the changes that matter.

    JSON diff tool comparing two YAML files and listing a changed port number and a removed key with the updated key ignored
    Two YAML files, with the timestamp ignored.

    List those keys in Ignore these keys, separated by commas. They vanish from both sides. You can also ignore letter case and the spaces around text, and treat 1 and 1.0 as equal.

    Export A JSON Patch

    The Download JSON Patch button writes the changes as a patch in RFC 6902 format. Apply it to side A, and you get side B. Many libraries read this format.

    JSON diff tool listing seven differences between two product documents, with the Swap sides button and the list of changed and added rows highlighted
    The full list, ready to copy or export.

    A patch needs exact positions. So the button works when lists are compared by position, and the tool tells you when it is off.

    Big Numbers Stay Exact

    The reader keeps every number as written. Two 20-digit ids that differ in the last digit show as different. Many tools round them first, and then call them equal.

    How it works

    Using The JSON Diff Tool, Step By Step

    Four steps give you a clean list of changes. The options then tune what counts as a change.

    • 1

      Paste both sides

      Put the original on the left and the changed version on the right. You can also open a file for either side.

    • 2

      Let it detect the format

      The tool reads JSON, XML and YAML. If a file looks odd, set the format by hand.

    • 3

      Tune the comparison

      Ignore list order, match items by a key, skip noisy keys, or relax case and spacing.

    • 4

      Read, copy or export

      Read the list of changes. Copy it as a report, or download a JSON Patch.

    Why this one

    What This JSON Diff Tool Does Differently

    Plenty of tools highlight lines. These are the places where this one goes further.

    • Compares meaning

      Key order and indentation never count. Only real differences appear in the list.

    • Three formats, mixed

      Compare JSON with YAML, or two XML files. Each side is read by its own reader.

    • Smart list matching

      Match by position, by any order, or by a key such as id. Pick whichever fits your data.

    • A patch you can apply

      Download the changes as an RFC 6902 JSON Patch, ready for a library or a script.

    • Exact numbers

      Long ids keep every digit, so two near-equal ids are never called equal.

    • Nothing leaves your tab

      Configs often hold secrets. Because your browser does the work, none of it reaches this site.

    Good habits

    Habits For Comparing Data Safely

    A diff only helps if you compare the right things. These habits keep it honest.

    • Validate both sides first. A broken file cannot be compared. The tool names the side and the line, so you fix it fast.
    • Ignore timestamps on purpose. List them in the ignore field. Then every row you see is a change someone made.
    • Pick the list rule that fits the data. Use position for ordered steps, any order for tags, and a key for records.
    • Use a key that is truly unique. If two records share an id, only the first one pairs up. Check the ids before you trust the result.
    • Mind the types. The text "5" and the number 5 are different. If your two sources disagree on types, tick the equal-numbers option.
    • Read removed rows twice. A removed key can be a deleted field, or a renamed one. A rename shows as one removal and one addition.
    • Compare after the same cleanup. Run both sides through the same formatter first. Then any difference you see comes from the data, and not from your tools.
    • Keep the original files. The tool never changes them. Still, a saved copy is the best safety net.
    • Compare small pieces of big files. If a file is huge, cut out the part you care about. The list stays short and easy to read.
    • Share the report, not the files. Copy the report into a ticket. It holds paths and values, and nothing else.
    • Export a patch for repeat jobs. If you apply the same change often, a patch saves time. Test it on a copy first.
    Worth avoiding

    Common Comparing Mistakes This Tool Prevents

    Each of these hides real changes or invents false ones.

    • Diffing minified against pretty text

      A line diff calls every line different. This tool ignores layout, so only data counts.

    • Reordered keys

      Two exports can list the same keys in different order. Here, order never matters for objects.

    • Position checks on records

      If one record moves up, every record below it looks changed. Match by key instead.

    • Noisy fields

      Timestamps and counters change every time. Ignore them, or the real change is lost.

    • Rounded numbers

      A tool that turns numbers into floats can call two ids equal. This one compares the digits.

    • Trusting a patch on the wrong base

      A patch only fits the document it was made from. Apply it to side A and no other.

    Questions

    JSON Diff Questions People Ask

    Is this JSON diff online tool free?

    Yes. It costs nothing, needs no account and has no limits. It runs in your browser, so we have no server cost to pass on.

    Are my files uploaded anywhere?

    No. Your browser reads and compares them. Nothing reaches this site, and we keep nothing. Closing the tab clears it all.

    How is this different from a text diff?

    A text diff compares lines. This tool compares data. Key order, spacing and indentation never create a difference.

    Can it compare JSON with YAML?

    Yes. Each side is read by its own reader, then both become the same kind of tree. Leave the format on Detect it.

    How does it handle XML?

    Attributes become keys that start with an at sign. Repeated elements become a list. Then the comparison runs as usual.

    What does Ignore the order of list items do?

    It matches equal items wherever they sit. A list of tags with the same tags in a new order shows no difference.

    What is the match key for?

    It pairs records by a field, such as id. Then a moved record is not a change, and a price edit shows as one row.

    Can I ignore some fields?

    Yes. Type the key names in the ignore field, separated by commas. They vanish from both sides at every depth.

    What is a JSON Patch?

    It is a standard list of steps that turns one document into another. Each step adds, removes or replaces a value at a path.

    Why is the patch button off?

    A patch needs exact list positions. It turns off while you ignore order or match items by a key. The note under the filters says so.

    Can I compare two API responses?

    Yes. Copy each response and paste it on its side. Then list fields such as request ids and times in the ignore box. Because the tool compares meaning, a reordered reply is still the same reply.

    Does it work on a phone?

    Yes. The two sides stack, and the list wraps. For long files, a laptop is still easier.

    How big a file can it compare?

    Files up to five megabytes open from disk. Live comparing stops above two megabytes, so press Compare now for big files.

    More free tools

    Handy Companions For Data Work

    Comparing is one step. These three tools handle the steps around it.

    Ready To Compare Two Documents?

    Paste both sides and read the list of changes. The tool is free, needs no account, and keeps every byte on your device.