Both can be used before adjectives or adverbs. Both can make those words stronger. But only one has a negative meaning.
Very means a high degree or a very large amount.
Too has a negative meaning. It means too much of something.
- My new coat was very expensive, but I was able to buy it.
The coat was too expensive, so I couldn’t buy it.
- He drove very quickly and arrived on time.
He drove too quickly and crashed his new car.