Too

Used for a negative or excessive meaning. It implies a problem.

So

Used for emphasis or to show a result. It does not imply a problem.

Too many

Used with countable nouns to mean a negative, excessive amount.

So many

Used with countable nouns for emphasis, to express a large number.

Too much

Used with uncountable nouns to mean a negative, excessive amount.

So much

Used with uncountable nouns for emphasis, to express a large quantity.