Using a new way to represent links, that we call a butterfly representation , we assign to each 3-bridge link diagram a sequence of six integers, collected as a triple (p/n,q/m,s/l) , such that p≥ q≥ s≥2 , 0<n≤ p , 0<m≤ q and 0<l≤ s . For each 3-bridge link there exists an infinite number of 3-bridge diagrams, so we define an order in the set (p/n,q/m,s/l) and assign to each 3-bridge link L the minimum among all the triples that correspond to a 3-butterfly of L , and call it the butterfly presentation of L . This presentation extends, in a natural way, the well known Schubert classification of 2-bridge links. We obtain necessary and sufficient conditions for a triple (p/n,q/m,s/l) to correspond to a 3 -butterfly and so, to a 3 -bridge link diagram. Given a triple (p/n,q/m,s/l) we give an algorithm to draw a canonical 3-bridge diagram of the associated link. We present formulas for a 3-butterfly of the mirror image of a link, for the connected sum of two rational knots and for some important families of 3-bridge links. We present the open question: When do the triples (p/n,q/m,s/l) and (p'/n',q'/m',s'/l') represent the same 3-bridge link?