What is the difference between a neutrino and an antineutrino? Since an antiparticle by definition is a particle with the same mass but opposite charge, how is there such a thing as an antineutrino? A neutrino has 0 charge so could not have an opposite. So why does an antineutrino exist and how does it differ from a neutrino?
 A: This is the table of elementary particles of the standard model of physics.

There exists the symmetric anti particle table, where the quantum numbers are such that added, particle + antiparticle the sum is zero.
The neutrinos carry the lepton number of the corresponding lepton, the antineutrinos the negative .
In addition neutrinos and antineutrinos, react to first order with the weak interaction only, are distinguished by chirality:

For each neutrino, there also exists a corresponding antiparticle, called an antineutrino, which also has no electric charge and half-integer spin. They are distinguished from the neutrinos by having opposite signs of lepton number and chirality. As of 2016, no evidence has been found for any other difference

The chirality difference, the way the spin of a fermion  is oriented with respect to its motion, gives different interaction crossections; for example neutrino nucleon scattering versus antineutrino nucleon scattering.
A: 
A neutrino has 0 charge so could not have an opposite

A (left-handed) neutrino has zero electric charge $Q$ but it is not uncharged.
The neutrino (anti-neutrino) has weak isospin charge $T_3$ of +1/2 (-1/2) and weak hypercharge $Y_W$ of -1 (+1).
The relationship of these three charges is given by
$$Q = T_3 + \frac{Y_W}{2}$$
and so, the neutrino is electrically neutral but not uncharged.
