6. A method comprising: receiving a new document version corresponding to an old document version, wherein the old document version is associated with a plurality of user-generated annotations, each user-generated annotation being mapped to a particular position within the old document version; identifying, by a processing device, a position map that maps differences between the old document version and the new document version, the differences comprising a word having an original position in the old document version and the word having a new position in the new document version, where the original position is different than new position, wherein the position map comprises an entry, the entry comprising the word, a first byte offset of the original position of the word in the old document version, and a second byte offset of the new position of the word in the new document version; determining, based on the position map, a position of a user-generated annotation of the plurality of user-generated annotations within the new document version that maps to a position within the old document version that corresponds with the user-generated annotation; and associating, by the processing device, the user-generated annotation with the determined position within the new document version to transfer the user-generated annotation to the new document version.
10. The method of claim 6 , wherein the position map is at least one of a forward position map that maps differences from the old document version to the new document version, or a reverse position map that maps differences from the new document version to the old document version.