S.H.
Easiest thing is permanent marker... those "sharpie" types specifically for clothing. The package will say it can be laundered.
Just write their first or last name, or first name w/last initial, or just their initials on their clothing & tags.
If needing to label water/milk/sippy cups, just use the permanent marker as well... it can be washed, and may fade over time, but it lasts, and then if need be, just re-write their name on it.
If labeling a lunch bag, just get a luggage tag, and write their name in it. And then you can also write their name ON the lunch bag itself.
If labeling shoes, again, use the sharpie for clothing.
In light of things nowadays, some parents do NOT put their child's first name on things... in case a "stranger" or potential child abductor/pedophile sees their name on their shoe for example, when they are out in pubic, and then calls the child by their first name. For this reason, some Parents do not put their child's name on things, whereby it can be "seen" easily or in plain view.
Just a tip for the future, when your son gets older especially.
For myself, I use only my child's initials. Or, I have a "symbol" that I draw onto their items... such as a heart, or star, or other symbol, which only my child would know that it is hers.
Good luck,
~Susan