Determine polarity of covalent bond with formal charge

In a covalent molecule, can we conclude that if the formal charge between two atoms are +1 and -1 respectively, then the chemical bond acting between them is a polar covalent bond (such as the bond between N and single-bonded O in Nitrate Ion)? On the other hand, if both of the atoms has a formal charge of 0, then the chemical bond acting between them is a nonpolar covalent bond (bonds in sulfur dioxide and sulfur trioxide)? How about bond between atoms with formal charge of +1 and 0 (P with single-bonded O in phosphate ion)?




**All** bonds between two atoms of different elements are polar to some extent. To determine how polar, you need to check the elements’ electronegativities *and only them.*


Formal charges are exactly what their name implies: a formality. When drawing Lewis structures you should attempt to generate all-octet structures but often this isn’t possible without moving electrons entirely between atoms. In that case, formal charges are assigned to rationalise e.g. a nitrogen with only four electrons.


[![Image of nitric acid, sulphur trioxide and carbon monoxide](https://i.stack.imgur.com/30axi.png)](https://i.stack.imgur.com/30axi.png)


Check out these structures of nitric acid, sulphur trioxide and carbon monoxide. (Resonance structures applicable to $\ce{HNO3}$ and $\ce{SO3}$ not displayed.) *All* bonds are polarised towards the oxygen, since oxygen’s electronegativity is $3.5$; the second highest amoung the non-noble-gas elements. Note especially that the bonds in $\ce{CO}$ are polarised towards oxygen *despite oxygen bearing a formal positive charge.* (There is a lot more to $\ce{CO}$ which is shown well in [Martin’s answer including the molecular orbitals](https://chemistry.stackexchange.com/a/31003/7475))


 1