LCS - A simple diff and merge program

LCS is a diff and merge program for Windows. Its name comes from Longest Common Subsequence, the name of the problem that inspired the program. Actually now about 95% of the program itself is dedicated to user interface functions but hey, the LCS algorithm was the brilliant idea that started it all.


Here are the main features of the program:

LCS is distributed under the GNU General Public License and is free for anyone to use.


Main window

Full text editor

And here is the main window of version 1.0.

System requirements and installation

The program requires Windows 95 or better, with at least 64M of RAM.

Please note: this is a beta version, last updated December 26, 2004. It lacks an help system and may have missing or partially implemented features.

Download the version 1.1 standalone installer (626K) or the version 1.1 source code (Delphi).

Old versions

Version 1.0. A fully functional diff program, but has problems with merging with the "ignore blanks" option because of the internal document format used. This version does not have an installer. To install the program, create a folder and unzip the content of the executable archive there. To uninstall, delete the files created during installation (i.e. license.txt, readme.txt and Lcs.exe) and, if it exists in the same folder, the file LCS.settings. In doubt, just leave the files there as the space they take on disk is negligible and no resources are used when the program does not run.

Here is the version 1.0 executable (ZIP archive, 247K) and the Delphi source files.


[1] David Eppstein. Longest Common Subsequences

I think that Eppstein's is the best explanation of the algorithm out there, but see also:

[2] L. Allison, T.I. Dix. A Bit-String Longest-Common-Subsequence Algorithm

[3] E. Myers. Longest Common Subsequences (Postscript file)

Copyright (c) 2003,2004 Alessandro Scotti. All rights reserved.

 Home :: Computer Programming

Site Map