We analyze a model of diffusion on social networks. Agents are connected according to an undirected graph (the network) and choose one of two actions (e.g., either to adopt a new behavior or technology or not to adopt it). The return to each of the actions depends on how many neighbors an agent has, which actions the agent’s neighbors choose, and some agent-specific cost and benefit parameters. At the outset, a small portion of the population is randomly selected to adopt the behavior. We analyze whether the behavior spreads to a larger portion of the population. We show that there is a threshold where “tipping” occurs: if a large enough initial group is selected then the behavior grows and spreads to a significant portion of the population, while otherwise the behavior collapses so that no one in the population chooses to adopt the behavior. We characterize the tipping threshold and the eventual portion that adopts if the threshold is surpassed. We also show how the threshold and adoption rate depend on the network structure. Applications of the techniques introduced in this paper include marketing, epidemiology, technological transfers, and information transmission, among others.