Determining the total number of charged residues corresponding to a given value of net charge for peptides and proteins in gas phase is crucial for the interpretation of mass-spectrometry data, yet it is far from being understood. Here we show that a novel computational protocol based on force field and massive density functional calculations is able to reproduce the experimental facets of well investigated systems, such as angiotensin II, bradykinin, and tryptophan-cage. The protocol takes into account all of the possible protomers compatible with a given charge state. Our calculations predict that the low charge states are zwitterions, because the stabilization due to intramolecular hydrogen bonding and salt-bridges can compensate for the thermodynamic penalty deriving from deprotonation of acid residues. In contrast, high charge states may or may not be zwitterions because internal solvation might not compensate for the energy cost of charge separation.