Isosurface generation has many important applications in medical imaging. Standard isosurface algorithms generate very large triangle meshes when high resolution volumetric data is available, which increases rendering time and storage requirements. Most existing mesh simplification algorithms either do not guarantee non-intersecting meshes or require large cost to prevent self-intersection. We present an octree-based isosurface generation and simplification method that preserves topology, guarantees no self-intersections, and generates a surface that approximates the true isosurface of the underlying data. Rather than focusing on directly simplifying the surface mesh, the new strategy is to generate an octree grid from the original volumetric grid in a way that guarantees these desired properties of the generated isosurface. The new method demonstrates savings of 70% in mesh nodes for real 3D medical data with highly complicated shapes such as the human brain cortex and the pelvis. The simplified surface stays within a user-specified distance bound from the original finest resolution surface, preserves the original topology and has no self-intersections.