WCopyfind Software and Instructions

WCopyfind is an open source windows-based program that compares documents and reports similarities in their words and phrases. It is free and available to anyone. It is licensed under the Gnu Public License, which basically means that you can do whatever you like with it except to try to sell it to someone else.

Download WCopyfind 4.1.1 Executable
Download WCopyfind.4.1.1 64-Bit Executable

Unlike most modern software packages, WCopyfind is a single executable file. You don’t install it, you just run it. Simply click on the link to download the executable file. If you’re running a 64-bit version of Windows, you can select the 64-bit executable, which runs about 10-20% faster than the 32-bit version. Place that file in a convenient location and double-click on it to execute it. It stores its setting settings in the windows registry, but otherwise it doesn’t have any lasting effect on your computer.

View WCopyfind Instructions

WCopyfind is pretty simple to use, but some of the settings need explanations.

Download WCopyfind 4.1.1 Source

As open source software, you’re welcome to tinker with WCopyfind to add features or make it behave differently.

How WCopyfind and Copyfind Work

I have been asked many times to explain how these comparison programs work and how they manage to complete their work so quickly. At long last, I have written an explanation of those programs. For more information, you’ll simply have to read the source code, which is now much clearer than it used to be.

The Archives

Older Executables:

Older Sources:

Older Instructions:

34 comments to WCopyfind

  • erik

    I downloaded this but got a strange Chinese warning when I ran it and did not get any comparison stats even though the application keeps saying it’s comparing documents. Tried several different docs and formats. This doesn’t seem to work.

  • Lou Bloomfield

    The “Chinese warning” that you saw is probably an internal error message that’s not displaying properly. Did you create a reporting folder? If not, you will definitely get an error. The error message should be readable, so I must have a bug to fix. I’ll take a look…

    Lou Bloomfield

  • Lou Bloomfield

    I found and fixed the bug that produced the “Chinese warning” message. Erik had indeed neglected to create a report folder, but the error message that popped up was garbled. I fixed the error message and uploaded WCopyfind 3.0.1 to this web site.

    Lou Bloomfield

  • Nand

    Hi, I downloded 3.0.1 and it worked for some doc and docx documents. Very big thank .. However, it didn’t work for some other doc and docx documents. Some comparison results also came up with ASCII words. Thanks.

    • Lou Bloomfield

      Could you please tell me what the symptoms were for the .docx files that didn’t work? Did they not read in at all or did they read in but not match what they should match?

      I am aware that WCopyfind won’t read some .doc files properly. The program doesn’t actually understand the .doc formats, which are diverse and too complicated for me to decode without spending more time than I can afford. If that causes problems for you, the easiest solution is to convert those .doc files to .txt or .docx, using the latest versions of Word.


  • Nand

    Dear Lou,
    The symptoms were the software produced report without any results or only five to six comparison while I compared 20 documents. These still occurred even tough I converted those document (both on doc or docx files) to .txt files. I can send you the samples of those document to your email if these can help (would you mind to send me your email address).

  • Lily

    I get the following message when trying to open the exe:

    The procedure entry point DecodePointer could not be located in the dynamic link librar KERNEL32.dll.

    Please advise.


  • Jeff Tress

    Hello. I’m a teacher interested in using WCopyFind to detect plagiarism. I opened WCopyFind and got the popup box with “Old Document Files” and “New Document Files”…is this program just for comparing 2 documents? I’m interested in uploading a student paper and WCopyFind searching the internet for possible plagiarism. Can this program do that? Thanks!

    • Lou Bloomfield

      WCopyfind can only compare documents that you have on hand, although it can compare far more than just two such documents. It can easily handle hundreds, thousands, or even more documents, limited only by the memory on your computer and your patience.

      Scouring the internet for documents is a much more complicated task and one that typically requires a paid service provider. WCopyfind can’t do that sort of work. However, if you can locate the source(s) for a suspicious document, perhaps by Googling specific phrases that don’t sound original, you can download those sources and then feed them to WCopyfind, along with the suspicious document and WCopyfind can then do the matching.


  • eng.s

    Hello,I downloaded the source of WCopyFind but I need to know which algorithm is used in comparing documents?? Thanks alot for help!

  • josephpresto

    Hi Professor Bloomfield,

    You program is perfect:)

    We want to use your program as an automatic plagiarism detection tool for the whole school. I know it is easy but I do not know c++ :(

    We save the file links in a text document, and we want copyfind to compare the uploaded file (from browser) with the files written in text file. We can send the information via curl or use shell to send commands with using php. Our server is linux.

    In short, we have to use a shell command or web form to send input to the copyfind program instead of windows UI. Is there anybody who compiled source code so that it can work in linux machine with using linux shell?

    Kindest regards,


    • Lou Bloomfield

      I will post Copyfind.4.1.0 as soon as I have time to write instructions for it. It can read simple commands from standard input or from a file, so it’s probably just what you want. I has almost zero windows-specific code in it and I may be able to edit that code out, so as to produce a machine-independent program. That last step, however, is going to take some time that I don’t have right now. I’m at the “anaerobic” time of the semester, where all I can do is try to keep from collapsing. But these tasks are definitely on my short list of things to do.


    • prince

      Hello Josephpresto,
      I have similar stuff developed for Linux environment, if you wish to use reach me on prince0206 in google mail.


  • josephpresto

    Thanks a lot for your quick reply and great effort :) sending input and run the program via linux shell command is enough for me.

    I just want to say that I introduced your program to my colleagues, and they are so excited :)

    We do not know c++ and we cannot edit source codes. Therefore, we are anxiously waiting for your machine independent program.

    Wish you the best,

  • josephpresto

    I just figured out that wcopyfind cannot open word documents written with macintosh word program. Program simply crash when there is macintosh word file. I just wanted to report this. Program may show an ignore message and continue, or just pass the document and show ignored documents in log file (the one that is auto created)


    • Lou Bloomfield


      Thanks for the heads-up. Do the macintosh word files have an extension (e.g., .docx or .doc)? If they don’t, then my program will definitely have trouble with them. In any case, I should make my program handle them gracefully, even if it can’t read them properly.


  • josephpresto

    Macintosh word document’s extension is .doc It is possible to open it in microsoft word. But Wcopyfind cannot open it and crash :)


  • Master41

    Great program. Thanks for taking the time to write it, maintain it, and share it with us. It is exactly what I was looking for.

    As for the .doc issue, you might refer people here: http://blogs.msdn.com/b/ericwhite/archive/2008/09/19/bulk-convert-doc-to-docx.aspx This will allow bulk conversion from doc to docx, eliminating the issue of you needing to parse .doc files.

  • October

    Hi and thanks so much for this tool.
    I have just a comment,when you say “It is licensed under the Gnu Public License, which basically means that you can do whatever you like with it except to try to sell it to someone else”

    I’m afraid this is against the 4 free software freedom you granted users with a GPL license,what is not allowed is to sub licensed your application but a derivative work can be developed and sold under GPL.
    That said, obviously nobody would sell something that is proposed for free !

    • Lou Bloomfield

      I’ll have to take another look at the GPL. I wrote the original version of this software back when the United States still supported public higher education and I didn’t need the money. Now that the US is abandoning public education and we have gone 5 years without raises, I might rethink this.


  • Martin


    First of all, thank you so much for this tool.
    I am writting a dissertation for my degree and I would like to make sure I do not have any text match.
    Unfortunately, it does not work. The report says there is no matching. As I was a bit suprised I copy pasted a full paragrah from a web site and still no match.
    My dissertation is written in French so I chose French langage. I also lowered all the thresholds. Nothing came up.
    Thank you for your help

    • Lou Bloomfield

      I’m not sure what’s causing the troubles you’re seeing. I suggest that you try comparing two identical files containing a long document (such as your dissertation) in Microsoft Word .DOCX format. If my program doesn’t find those two copies of the same thing matching, that indicates a serious problem. I’m more expecting that it will work and find huge matches in the documents. Then work backwards toward the comparison you want: paste the stuff you want to compare at the ends of the two copies and run the comparison again. I’m hoping that you’ll see the matching appear.


  • andres

    Thanks a lot for wonderful software! It is simple and usable. I have not used it for plagiarism detection, but also have find highly similar constructions from fifferent docs for making my life easier.

  • masa

    Thank you for providing this software!
    It would also be helpful if you had the option of providing a template (e.g. the questions posed by the instructor) which would be excluded from the match list.

    • Lou Bloomfield

      I have a version that allows for an exclude template, but I simply haven’t had time to post it here. Mostly, I need to write a help document because it reads a script file. It’s on my short list of things to do, but that list isn’t as short as it should be. Too much, too little time…


  • prince

    Hello Professor BloomField,
    Thanks a lot for this wonderful tool, we have been using it in windows it was quite useful. We are badly in the need of Linux version, are there any work being done by you for this, when can we expect one?

    thanks a lot for your time.

  • stevek

    I have found this program very useful in comparing MATLAB computer code (simple text files). Is it possible to use the “Load from file” option with a wildcard to load all MATLAB files in a specified directory (for example, by specifying C:\Users\username\Desktop\temp\*.m)? Thanks.

  • plee

    Can you upload the command line version of the program (CopyFind)?

  • ryneeverett

    A couple years ago you said you were going to make copyfind machine-independent, and now there seems to be a distinction between copyfind and wcopyfind. Was the command-line version ever completed? If so, where is it available?


  • Master41

    I continue to use (and recommend) your excellent work. My sincere thanks for your efforts.

    I have notices two small issues which you might want to add to your list of things to do (if you ever find some free time).

    1) If a document is named with non-standard letters (in my case, I used to name my files with the student name. I have one student named Phạm Thu Ngân. When I included the file (e.g., ‘Assignment 1 Phạm Thu Ngân.docx’) there was always an error (100% of the time). However, simply renaming the file fixes the problem 100% of the time. I’ve adapted around this by using student ID’s instead of names for the filenames so it does not impact me much any more.

    2) This is a bonus item (not a bug, just a request): It would be nice if the output html would allow the deletion of rows. The idea is I might have 300 rows to process and if I could click an ‘X’ to remove the row from the report, it would make my processing (which can span days) that much easier.

    Again, thanks making your work available. It really helps so many of us.

  • bers

    what a nice program. Could you make sure file handles are closed after running a comparison? I noticed that I cannot move a file after the comparison has been run, I always need to close the program first.

Leave a Reply