This document describes an efficient algorithm for computing large Bernoulli numbers. The algorithm is based on the asymptotic formula for Bernoulli numbers and uses the Euler product formula with primes. The algorithm allows individual Bernoulli numbers to be computed much faster than recurrence formulas. Using this algorithm, the authors computed B(750,000) in a few hours and set a record by computing B(5,000,000), which has over 27 million decimal digits. The algorithm involves computing the principal term, a few terms of the Euler product, and the fractional part using the Von Staudt-Clausen formula.