NSOLIB is a Fortran subroutine library for nonsmooth and nonconvex optimization problems with single or multiple objective functions. The methods are able to handle either simple bounds for variables, linear, nonlinear or nonsmooth constraints, or all of them at the same time. NSOLIB subroutines are implementations of the proximal bundle method. They have been tested with various standard test examples and in several research projects of the laboratory in different computing environments (microcomputers, workstations, mainframe and supercomputers). There is a need for NSOLIB since commercial subroutine packages do not contain efficient codes for nonsmooth optimization.