Diff
checker
Text
Text
Images
Documents
Excel
Folders
Legal
Enterprise
Desktop
Pricing
Sign in
Download Diffchecker Desktop
Compare text
Find the difference between two text files
Tools
History
Real-time editor
Hide unchanged lines
Disable line wrap
Layout
Split
Unified
Diff precision
Smart
Word
Char
Syntax highlighting
Choose syntax
Ignore
Transform text
Go to first change
Edit input
Diffchecker Desktop
The most secure way to run Diffchecker. Get the Diffchecker Desktop app: your diffs never leave your computer!
Get Desktop
Keyboard events
Created
5 days ago
Diff never expires
Clear
Export
Share
Explain
93 removals
Lines
Total
Removed
Characters
Total
Removed
To continue using this feature, upgrade to
Diff
checker
Pro
View Pricing
264 lines
Copy
31 additions
Lines
Total
Added
Characters
Total
Added
To continue using this feature, upgrade to
Diff
checker
Pro
View Pricing
202 lines
Copy
[
[
{
{
"type": "keydown",
"type": "keydown",
"key": "Shift",
"key": "Shift",
"code": "ShiftLeft",
"code": "ShiftLeft",
"which": 16,
"which": 16,
"keyCode": 16,
"keyCode": 16,
"charCode": 0,
"charCode": 0,
"data": null,
"data": null,
"inputType": null,
"inputType": null,
"composed": true,
"composed": true,
"isComposing": false,
"isComposing": false,
"value": "",
"value": "",
"selectionStart": 0,
"selectionStart": 0,
"selectionEnd": 0
"selectionEnd": 0
},
},
{
{
"type": "keydown",
"type": "keydown",
Copy
Copied
Copy
Copied
"key": "
Dead
",
"key": "
Process
",
"code": "
BracketLeft
",
"code": "
",
"which":
0
,
"which":
229
,
"keyCode":
0
,
"keyCode":
229
,
"charCode": 0,
"charCode": 0,
"data": null,
"data": null,
"inputType": null,
"inputType": null,
"composed": true,
"composed": true,
"isComposing": false,
"isComposing": false,
"value": "",
"value": "",
"selectionStart": 0,
"selectionStart": 0,
"selectionEnd": 0
"selectionEnd": 0
},
},
{
{
"type": "compositionstart",
"type": "compositionstart",
"which": 0,
"which": 0,
"data": "",
"data": "",
"inputType": null,
"inputType": null,
"composed": true,
"composed": true,
"value": "",
"value": "",
"selectionStart": 0,
"selectionStart": 0,
"selectionEnd": 0
"selectionEnd": 0
},
},
{
{
Copy
Copied
Copy
Copied
Text moved with changes to lines 75-89 (95.6% similarity)
"type": "keydown",
"key": "Dead",
"code": "BracketLeft",
"which": 0,
"keyCode": 0,
"charCode": 0,
"data": null,
"inputType": null,
"composed": true,
"isComposing": true,
"value": "",
"selectionStart": 0,
"selectionEnd": 0
},
{
"type": "compositionupdate",
"type": "compositionupdate",
"which": 0,
"which": 0,
"data": "`",
"data": "`",
"inputType": null,
"inputType": null,
"composed": true,
"composed": true,
"value": "",
"value": "",
"selectionStart": 0,
"selectionStart": 0,
"selectionEnd": 0
"selectionEnd": 0
},
},
{
{
"type": "beforeinput",
"type": "beforeinput",
"which": 0,
"which": 0,
"data": "`",
"data": "`",
"inputType": "insertCompositionText",
"inputType": "insertCompositionText",
"composed": true,
"composed": true,
"isComposing": true,
"isComposing": true,
"value": "",
"value": "",
"selectionStart": 0,
"selectionStart": 0,
"selectionEnd": 0
"selectionEnd": 0
},
},
{
{
"type": "input",
"type": "input",
"which": 0,
"which": 0,
"data": "`",
"data": "`",
"inputType": "insertCompositionText",
"inputType": "insertCompositionText",
"composed": true,
"composed": true,
"isComposing": true,
"isComposing": true,
"value": "`",
"value": "`",
"selectionStart": 1,
"selectionStart": 1,
"selectionEnd": 1
"selectionEnd": 1
},
},
{
{
Copy
Copied
Copy
Copied
Text moved with changes from lines 43-57 (95.6% similarity)
"type": "keydown",
"key": "Process",
"code": "",
"which": 229,
"keyCode": 229,
"charCode": 0,
"data": null,
"inputType": null,
"composed": true,
"isComposing": true,
"value": "`",
"selectionStart": 1,
"selectionEnd": 1
},
{
"type": "keyup",
"type": "keyup",
"key": "Dead",
"key": "Dead",
"code": "BracketLeft",
"code": "BracketLeft",
"which": 0,
"which": 0,
"keyCode": 0,
"keyCode": 0,
"charCode": 0,
"charCode": 0,
"data": null,
"data": null,
"inputType": null,
"inputType": null,
"composed": true,
"composed": true,
"isComposing": true,
"isComposing": true,
"value": "`",
"value": "`",
"selectionStart": 1,
"selectionStart": 1,
"selectionEnd": 1
"selectionEnd": 1
},
},
{
{
"type": "keydown",
"type": "keydown",
Copy
Copied
Copy
Copied
"key": "
Dead
",
"key": "
Process
",
"code": "
BracketLeft
",
"code": "
",
"which":
0
,
"which":
229
,
"keyCode":
0
,
"keyCode":
229
,
"charCode": 0,
"charCode": 0,
"data": null,
"data": null,
"inputType": null,
"inputType": null,
"composed": true,
"composed": true,
"isComposing": true,
"isComposing": true,
"value": "`",
"value": "`",
"selectionStart": 1,
"selectionStart": 1,
"selectionEnd": 1
"selectionEnd": 1
},
},
{
{
Copy
Copied
Copy
Copied
"type": "compositionupdate",
"which": 0,
"data": "",
"inputType": null,
"composed": true,
Text moved to lines 137-139
"value": "`",
"selectionStart": 1,
"selectionEnd": 1
},
{
"type": "beforeinput",
"type": "beforeinput",
"which": 0,
"which": 0,
Copy
Copied
Copy
Copied
"data": "
",
"data": "
`
",
"inputType": "insertCompositionText",
"inputType": "insertCompositionText",
"composed": true,
"composed": true,
"isComposing": true,
"isComposing": true,
"value": "`",
"value": "`",
"selectionStart": 1,
"selectionStart": 1,
"selectionEnd": 1
"selectionEnd": 1
},
},
{
{
"type": "input",
"type": "input",
"which": 0,
"which": 0,
Copy
Copied
Copy
Copied
"data": "
",
"data": "
`
",
"inputType": "insertCompositionText",
"inputType": "insertCompositionText",
"composed": true,
"composed": true,
"isComposing": true,
"isComposing": true,
Copy
Copied
Copy
Copied
Text moved from lines 125-127
"value": "",
"value": "
`
",
"selectionStart": 0,
"selectionStart":
1
,
"selectionEnd": 0
"selectionEnd":
1
},
{
"type": "keydown",
"key": "Dead",
"code": "BracketLeft",
"which": 0,
"keyCode": 0,
"charCode": 0,
"data": null,
"inputType": null,
"composed": true,
"isComposing": true,
"value": "
",
"selectionStart":
0
,
"selectionEnd":
0
},
},
{
{
"type": "compositionend",
"type": "compositionend",
"which": 0,
"which": 0,
Copy
Copied
Copy
Copied
"data": "
",
"data": "
`",
"inputType": null,
"composed": true,
"value": "",
"selectionStart": 0,
"selectionEnd": 0
},
{
"type": "input",
"which": 0,
"data": "",
"inputType": "insertCompositionText",
"composed": true,
"isComposing": false,
"value": "",
"selectionStart": 0,
"selectionEnd": 0
},
{
"type": "keydown",
"key": "Process",
"code": "BracketLeft",
"which": 229,
"keyCode": 229,
"charCode": 0,
"data": null,
"inputType": null,
"inputType": null,
"composed": true,
"composed": true,
Copy
Copied
Copy
Copied
"isComposing": false,
"value": "
`
",
"value": "
",
"selectionStart":
1,
"selectionStart":
0,
"selectionEnd":
1
"selectionEnd": 0
},
{
"type": "beforeinput",
"which": 0,
"data": "`",
"inputType": "insertText",
"composed": true,
"isComposing": false,
"value": "",
"selectionStart": 0,
"selectionEnd":
0
},
},
{
{
"type": "input",
"type": "input",
"which": 0,
"which": 0,
"data": "`",
"data": "`",
Copy
Copied
Copy
Copied
"inputType": "
insertText
",
"inputType": "
insertCompositionText
",
"composed": true,
"composed": true,
"isComposing": false,
"isComposing": false,
"value": "`",
"value": "`",
"selectionStart": 1,
"selectionStart": 1,
"selectionEnd": 1
"selectionEnd": 1
},
},
{
{
"type": "keyup",
"type": "keyup",
"key": "Dead",
"key": "Dead",
"code": "BracketLeft",
"code": "BracketLeft",
"which": 0,
"which": 0,
"keyCode": 0,
"keyCode": 0,
"charCode": 0,
"charCode": 0,
"data": null,
"data": null,
"inputType": null,
"inputType": null,
"composed": true,
"composed": true,
"isComposing": false,
"isComposing": false,
"value": "`",
"value": "`",
"selectionStart": 1,
"selectionStart": 1,
"selectionEnd": 1
"selectionEnd": 1
},
},
{
{
"type": "keyup",
"type": "keyup",
"key": "Shift",
"key": "Shift",
"code": "ShiftLeft",
"code": "ShiftLeft",
"which": 16,
"which": 16,
"keyCode": 16,
"keyCode": 16,
"charCode": 0,
"charCode": 0,
"data": null,
"data": null,
"inputType": null,
"inputType": null,
"composed": true,
"composed": true,
"isComposing": false,
"isComposing": false,
"value": "`",
"value": "`",
"selectionStart": 1,
"selectionStart": 1,
"selectionEnd": 1
"selectionEnd": 1
},
},
{
{
"type": "change",
"type": "change",
"data": null,
"data": null,
"inputType": null,
"inputType": null,
"composed": false,
"composed": false,
"value": "`",
"value": "`",
"selectionStart": 1,
"selectionStart": 1,
"selectionEnd": 1
"selectionEnd": 1
}
}
]
]
Saved diffs
Original text
Open file
[ { "type": "keydown", "key": "Shift", "code": "ShiftLeft", "which": 16, "keyCode": 16, "charCode": 0, "data": null, "inputType": null, "composed": true, "isComposing": false, "value": "", "selectionStart": 0, "selectionEnd": 0 }, { "type": "keydown", "key": "Dead", "code": "BracketLeft", "which": 0, "keyCode": 0, "charCode": 0, "data": null, "inputType": null, "composed": true, "isComposing": false, "value": "", "selectionStart": 0, "selectionEnd": 0 }, { "type": "compositionstart", "which": 0, "data": "", "inputType": null, "composed": true, "value": "", "selectionStart": 0, "selectionEnd": 0 }, { "type": "keydown", "key": "Dead", "code": "BracketLeft", "which": 0, "keyCode": 0, "charCode": 0, "data": null, "inputType": null, "composed": true, "isComposing": true, "value": "", "selectionStart": 0, "selectionEnd": 0 }, { "type": "compositionupdate", "which": 0, "data": "`", "inputType": null, "composed": true, "value": "", "selectionStart": 0, "selectionEnd": 0 }, { "type": "beforeinput", "which": 0, "data": "`", "inputType": "insertCompositionText", "composed": true, "isComposing": true, "value": "", "selectionStart": 0, "selectionEnd": 0 }, { "type": "input", "which": 0, "data": "`", "inputType": "insertCompositionText", "composed": true, "isComposing": true, "value": "`", "selectionStart": 1, "selectionEnd": 1 }, { "type": "keyup", "key": "Dead", "code": "BracketLeft", "which": 0, "keyCode": 0, "charCode": 0, "data": null, "inputType": null, "composed": true, "isComposing": true, "value": "`", "selectionStart": 1, "selectionEnd": 1 }, { "type": "keydown", "key": "Dead", "code": "BracketLeft", "which": 0, "keyCode": 0, "charCode": 0, "data": null, "inputType": null, "composed": true, "isComposing": true, "value": "`", "selectionStart": 1, "selectionEnd": 1 }, { "type": "compositionupdate", "which": 0, "data": "", "inputType": null, "composed": true, "value": "`", "selectionStart": 1, "selectionEnd": 1 }, { "type": "beforeinput", "which": 0, "data": "", "inputType": "insertCompositionText", "composed": true, "isComposing": true, "value": "`", "selectionStart": 1, "selectionEnd": 1 }, { "type": "input", "which": 0, "data": "", "inputType": "insertCompositionText", "composed": true, "isComposing": true, "value": "", "selectionStart": 0, "selectionEnd": 0 }, { "type": "keydown", "key": "Dead", "code": "BracketLeft", "which": 0, "keyCode": 0, "charCode": 0, "data": null, "inputType": null, "composed": true, "isComposing": true, "value": "", "selectionStart": 0, "selectionEnd": 0 }, { "type": "compositionend", "which": 0, "data": "", "inputType": null, "composed": true, "value": "", "selectionStart": 0, "selectionEnd": 0 }, { "type": "input", "which": 0, "data": "", "inputType": "insertCompositionText", "composed": true, "isComposing": false, "value": "", "selectionStart": 0, "selectionEnd": 0 }, { "type": "keydown", "key": "Process", "code": "BracketLeft", "which": 229, "keyCode": 229, "charCode": 0, "data": null, "inputType": null, "composed": true, "isComposing": false, "value": "", "selectionStart": 0, "selectionEnd": 0 }, { "type": "beforeinput", "which": 0, "data": "`", "inputType": "insertText", "composed": true, "isComposing": false, "value": "", "selectionStart": 0, "selectionEnd": 0 }, { "type": "input", "which": 0, "data": "`", "inputType": "insertText", "composed": true, "isComposing": false, "value": "`", "selectionStart": 1, "selectionEnd": 1 }, { "type": "keyup", "key": "Dead", "code": "BracketLeft", "which": 0, "keyCode": 0, "charCode": 0, "data": null, "inputType": null, "composed": true, "isComposing": false, "value": "`", "selectionStart": 1, "selectionEnd": 1 }, { "type": "keyup", "key": "Shift", "code": "ShiftLeft", "which": 16, "keyCode": 16, "charCode": 0, "data": null, "inputType": null, "composed": true, "isComposing": false, "value": "`", "selectionStart": 1, "selectionEnd": 1 }, { "type": "change", "data": null, "inputType": null, "composed": false, "value": "`", "selectionStart": 1, "selectionEnd": 1 } ]
Changed text
Open file
[ { "type": "keydown", "key": "Shift", "code": "ShiftLeft", "which": 16, "keyCode": 16, "charCode": 0, "data": null, "inputType": null, "composed": true, "isComposing": false, "value": "", "selectionStart": 0, "selectionEnd": 0 }, { "type": "keydown", "key": "Process", "code": "", "which": 229, "keyCode": 229, "charCode": 0, "data": null, "inputType": null, "composed": true, "isComposing": false, "value": "", "selectionStart": 0, "selectionEnd": 0 }, { "type": "compositionstart", "which": 0, "data": "", "inputType": null, "composed": true, "value": "", "selectionStart": 0, "selectionEnd": 0 }, { "type": "compositionupdate", "which": 0, "data": "`", "inputType": null, "composed": true, "value": "", "selectionStart": 0, "selectionEnd": 0 }, { "type": "beforeinput", "which": 0, "data": "`", "inputType": "insertCompositionText", "composed": true, "isComposing": true, "value": "", "selectionStart": 0, "selectionEnd": 0 }, { "type": "input", "which": 0, "data": "`", "inputType": "insertCompositionText", "composed": true, "isComposing": true, "value": "`", "selectionStart": 1, "selectionEnd": 1 }, { "type": "keydown", "key": "Process", "code": "", "which": 229, "keyCode": 229, "charCode": 0, "data": null, "inputType": null, "composed": true, "isComposing": true, "value": "`", "selectionStart": 1, "selectionEnd": 1 }, { "type": "keyup", "key": "Dead", "code": "BracketLeft", "which": 0, "keyCode": 0, "charCode": 0, "data": null, "inputType": null, "composed": true, "isComposing": true, "value": "`", "selectionStart": 1, "selectionEnd": 1 }, { "type": "keydown", "key": "Process", "code": "", "which": 229, "keyCode": 229, "charCode": 0, "data": null, "inputType": null, "composed": true, "isComposing": true, "value": "`", "selectionStart": 1, "selectionEnd": 1 }, { "type": "beforeinput", "which": 0, "data": "`", "inputType": "insertCompositionText", "composed": true, "isComposing": true, "value": "`", "selectionStart": 1, "selectionEnd": 1 }, { "type": "input", "which": 0, "data": "`", "inputType": "insertCompositionText", "composed": true, "isComposing": true, "value": "`", "selectionStart": 1, "selectionEnd": 1 }, { "type": "compositionend", "which": 0, "data": "`", "inputType": null, "composed": true, "value": "`", "selectionStart": 1, "selectionEnd": 1 }, { "type": "input", "which": 0, "data": "`", "inputType": "insertCompositionText", "composed": true, "isComposing": false, "value": "`", "selectionStart": 1, "selectionEnd": 1 }, { "type": "keyup", "key": "Dead", "code": "BracketLeft", "which": 0, "keyCode": 0, "charCode": 0, "data": null, "inputType": null, "composed": true, "isComposing": false, "value": "`", "selectionStart": 1, "selectionEnd": 1 }, { "type": "keyup", "key": "Shift", "code": "ShiftLeft", "which": 16, "keyCode": 16, "charCode": 0, "data": null, "inputType": null, "composed": true, "isComposing": false, "value": "`", "selectionStart": 1, "selectionEnd": 1 }, { "type": "change", "data": null, "inputType": null, "composed": false, "value": "`", "selectionStart": 1, "selectionEnd": 1 } ]
Find difference