Google.DiffMatchPatch.Js (nuget): The Diff Match and Patch libraries offer robust algorithms to perform the operations required for synchronizing plain text.      Diff:         Compare two blocks of plain text and efficiently return a list of differences.         Diff Demo      Match:         Given a search string, find its best fuzzy match in a block of plain text. Weighted for both accuracy and location.         Match Demo      Patch:         Apply a list of patches onto plain text. Use best-effort to apply patch even when the underlying text doesn't match.         Patch Demo   Algorithms  This library implements Myer's diff algorithm which is generally considered to be the best general-purpose diff. A layer of pre-diff speedups and post-diff cleanups surround the diff algorithm, improving both performance and output quality.  This library also implements a Bitap matching algorithm at the heart of a flexible matching and patching strategy.
Keywords: diff|match|patch|diff-match-patch|merge|javascript|difference|text-processing