We present a three-dimensional (3-D) local refinement algorithm for tetrahedral meshes based on a bisection procedure. The quality of refined meshes is guaranteed in terms of a tetrahedron shape measure $\eta $. Specifically, it is proved that the algorithm creates a finite number, which only depends on the number of tetrahedra in the initial mesh, of classes of similar tetrahedra in all refined tetrahedra. Furthermore, if ${\bf T}$ is a tetrahedron in the original mesh, and ${\bf T}_i^n $ is any refined tetrahedron of ${\bf T}$, then $\eta ({\bf T}_i^n ) \geq c\eta ({\bf T})$, where c is a positive constant independent of ${\bf T}$ and the number of refinements. It is also proved that for any interior face in the final mesh, the absolute value of the difference of the bisection levels of the two adjacent tetrahedra incident on the face is $ \leq 2$, which indicates that local refinements on tetrahedra can be smoothly extended to their neighbors. The expected time complexity of the algorithm is $O(N)$, wh...