GiNaC is a free framework that embeds symbolic manipulation consistently into the C++ programming language. It deliberately neglects the split-up into a low level language and a high level language, traditional in the design of computer algebra systems: The user usually interacts with GiNaC directly in C++. GiNaC was designed to provide efficient handling of multivariate polynomials, algebras and some special functions that are needed for loop calculations in HEP. But it also bears some potential to become a more general purpose symbolic system.