Nascap-2k is a modern spacecraft charging code, replacing the older codes NASA Charging Analyzer Program for GEosynchronous Orbit (NASCAP/GEO), NASA Charging Analyzer Program for Low-Earth Orbit (NASCAP/LEO), Potentials Of Large objects in the Auroral Region (POLAR), and Dynamic Plasma Analysis Code (DynaPAC). The code builds on the physical principles, mathematical algorithms, and user experience developed over three decades of spacecraft charging research. Capabilities include surface charging in geosynchronous and interplanetary orbits, sheath, and wake structure, and current collection in low-Earth orbits, and auroral charging. External potential structure and particle trajectories are computed using a finite element method on a nested grid structure and may be visualized within the Nascap-2k interface. Space charge can be treated either analytically, self-consistently with particle trajectories, or consistent with imported plume densities. Particle-in-cell (PIC) capabilities are available to study dynamic plasma effects. Auxiliary programs to Nascap-2k include Object Toolkit (for developing spacecraft surface models) and GridTool (for constructing nested grid structures around spacecraft models). The capabilities of the code are illustrated by way of four examples: charging of a geostationary satellite, self-consistent potentials for a negative probe in a low-Earth orbit spacecraft wake, potentials associated with thruster plumes, and PIC calculations of plasma effects on a very low frequency (about 1 to 20 kHz) antenna.