The ideals of a finite poset P and their lattice structure provide a useful tool for several problems in scheduling, network flows, and other poset problems. An algorithm which generates these ideals in O(w(P)) time per ideal is presented, where w(P) is the width of P. The distributive lattice may be generated in the same complexity.