Sulfur trioxide (SO3) is a non-polar molecule. The polarities of all the sulfur-oxygen bonds cancel each other out because of the symmetry in the shape of the molecule, where there is a central sulfur atom surrounded by three oxygen atoms at a 120 degree angle to each other.
There are two sources for polarity in molecules. The first source is the difference in electronegativity between the atoms. Electronegativity is a measure for the attraction between the nucleus and the bonded pair of electrons in a covalent molecule. For example, an oxygen molecule, made up of two oxygen atoms bonded together, is non-polar because both atoms have the same electronegativity. But carbon monoxide is polar because carbon has a lower electronegativity than oxygen, which results in a greater pull of the bonded pairs of electrons towards the oxygen. This results in an overall polarity for the molecule with carbon having a partial positive charge and oxygen having a partial negative charge. The bond between sulfur and oxygen is polar because oxygen is more electronegative than sulfur.
Polarity of individual bonds is not sufficient to generate overall polarity in a molecule. The second source of polarity in addition to individual bond polarity is the shape of the molecule, or how the bonds are arranged with respect to each other. If the polar bonds are arranged symmetrically around the central atom, the polarities of the individual bonds cancel out, leaving the molecule with no net polarity. Even though each sulfur-oxygen bond is polar, the three bonds are arranged symmetrically around the sulfur atom, thereby making sulfur trioxide non-polar.