If I've got $ U $ a subspace of $\mathbb{R}^4$ $$U = < (1,-1,0,0),(0,1,1,1),(2,1,0,1) >$$
And I want to find an orthonormal base for the subspace $U$
My doubt is: Can I make an orthonormal basis with those 3 vectors or I have to add another vector to have 4 vectors?
Knowing that, then I know how to make an orthonormal base starting for any base with Gram-Schmidt. But I need to know if I need to have a basis with 3 vectors or with 4.
Your subspace $U$ is spanned by three vectors. It can't have an orthonormal basis consisting of four vectors. Otherwise it would be equal to $\mathbf{R}^4$, which is not spanned by three vectors.
So, you can just apply "Gram Schmindt" to these three vectors. However, if your three vectors are linearly dependent, you might end up with $1$ or $2$ vectors in your basis after applying the algorithm.