Hi, can someone please explain the difference between нужен, надо, нужно?

I never know exactly which to use when I say things like:

- I need / I don't need / do you need?

- It is not necessary / It is not needed