I paint my shoes with acrylic paints mixed with a fabric medium (which makes it flexible and waterproof on the shoe). I then spray the shoes with fabric protector, which helps to keep the dirt away.
Photos show design hand-painted onto white canvas shoes. (Child’s size 7).