Adaptive refinement of finite element approximations on tetrahedral meshes is generally considered to be a non-trivial task. (We wish to stress that this paper deals with mesh refinement as opposed to remeshing.) The splitting of individual finite elements needs to be done with much care to prevent significant deterioration of the shape quality of the elements of the refined meshes. Considerable complexity thus results, which makes it difficult to design (and even more importantly, to later maintain) adaptive tetrahedra-based simulation codes. An adaptive refinement methodology, dubbed CHARMS (conforming hierarchical adaptive refinement methods), had recently been proposed by Krysl, Grinspun, and Schroder. The methodology streamlines and simplifies mesh refinement, since conforming (compatible) meshes always result by construction. The present work capitalizes on these conceptual developments to build a mesh refinement technique for tetrahedra. Shape quality is guaranteed for an arbitrary number of refinement levels due to our use of element octasection based on the Kuhn triangulation of the cube. Algorithms and design issues related to the inclusion of the present technique in a CHARMS-based object oriented software framework (http://hogwarts.ucsd.edu/(similar to)pkrysl/CHARMS) are described. Copyright (C) 2003 John Wiley Sons, Ltd.