1. A computer-implemented method of annotating an electronic document comprising: receiving annotation information corresponding to a first electronic document file, wherein the first electronic document file is a text document; creating annotation metadata that is associated with the annotation information and comprises contextual information relating to an annotation location within text of the first electronic document file; storing the annotation information and associated annotation metadata in an annotation file that is separate from the first electronic document file; and anchoring, by a computer device, the annotation information to a target electronic document file at an anchor location within the text of the first electronic document file corresponding to the annotation metadata, wherein the target electronic document file is a modified version of the first electronic document file such that an underlying text of the target electronic document file is different from an underlying text of the first electronic document file.