This study proposes an algorithm of embedding cohesive elements in Abaqus and develops the computer code to model 3D complex crack propagation in quasi-brittle materials in a relatively easy and efficient manner. The cohesive elements with softening traction-separation relations and damage initiation and evolution laws are embedded between solid elements in regions of interest in the initial mesh to model potential cracks. The initial mesh can consist of tetrahedrons, wedges, bricks or a mixture of these elements. Neither remeshing nor objective crack propagation criteria are needed. Four examples of concrete specimens, including a wedge-splitting test, a notched beam under torsion, a pull-out test of an anchored cylinder and a notched beam under impact, were modelled and analysed. The simulated crack propagation processes and load-displacement curves agreed well with test results or other numerical simulations for all the examples using initial meshes with reasonable densities. Making use of Abaqus’s rich pre/postprocessing functionalities and powerful standard/explicit solvers, the developed method offers a practical tool for engineering analysts to model complex 3D fracture problems.