For several applications in the arithmetic of abelian varieties it is important to compute canonical heights. Following Faltings and Hriljac, we show how the canonical height of a point on the Jacobian of a smooth projective curve can be computed using arithmetic intersection theory on a regular model of the curve in practice. In the case of hyperelliptic curves we present a complete algorithm that has been implemented in Magma. Several examples are computed and the behavior of the running time is discussed.