A local-density-functional cluster method is used to calculate the structure and vibrational modes of interstitial oxygen in silicon. We find Si-O lengths and the Si-O-Si bond angle to be 1.59 Å and 172°, respectively. The asymmetric and symmetric stretch frequencies are 1104 and 554 cm-1 and are close to observed modes at 1136 and 518 cm-1. The effective charge of the upper mode is 3.5e. Isotopic shifts of the modes are also reported. We find that the symmetric stretch mode at 554 cm-1 is independent of the O-isotopic mass in agreement with observation.