1. A method comprising: receiving, via a processing device, 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 portion of the old document version; aligning, via the processing device, words in the new document version with words in the old document version; determining, via the processing device, differences between the new document version and the old document version using the aligned words, 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; generating, via the processing device, an entry in a position map, wherein the entry maps a first byte offset of the original position of the word in the old document version to a second byte offset of the new position of the word in the new document version, the entry comprising the word, the first byte offset, and the second byte offset; and causing, via the processing device, the user-generated annotations to be transferred to the new document version based on the position map.