Here we describe an efficient numerical implementation of the Bethe-Salpeter equation to obtain the excitonic spectrum of semiconductors. This is done on the electronic structure calculated either at the simplest tight-binding level or through density functional theory calculations based on local orbitals. We use a simplified model for the electron-electron interactions which considers atomic orbitals as point-like orbitals and a phenomenological screening. The optical conductivity can then be optionally computed within the Kubo formalism. Our results for paradigmatic two-dimensional materials such as hBN and MoS2, when compared with those of more sophisticated first-principles methods, are excellent and envision a practical use of our implementation beyond the computational limitations of such methods. Program summaryProgram Title: XatuCPC Library link to program files:https://doi.org/10.17632/kj4rt95pvc.1Developer's repository link:https://github.com/alejandrojuria/xatuLicensing provisions: GPLv3Programming language: C++, Fortran, PythonNature of problem: The exciton spectrum is obtained as the solution of the Bethe-Salpeter equation for insulators and semi-conductors. Constructing the equation involves determining the screening of the electrostatic interaction and then determining the matrix elements of the interaction kernel, which are computationally-intensive tasks, specially if one takes a purely ab-initio approach.Solution method: The Bethe-Salpeter equation can be efficiently set up and solved assuming that the basis of the reference electronic structure calculation, obtained either from tight-binding models or density functional theory with actual localized orbitals, corresponds to point-like localized orbitals. This, in addition to using an effective screening instead of computing the dielectric constant, allows to obtain the interaction kernel at very low computational cost and, thereof, the exciton spectrum as well as the light absorption of materials.Additional comments including restrictions and unusual features: The code requires using at least C++11, given that it uses version-specific features. All linear algebra routines have been delegated to the Armadillo library.