Non-profits generate revenue through various channels, including donations, grants, membership fees, and sales of goods or services. Donations can come from individuals, corporations, or foundations. Grants are typically provided by government bodies or private organizations to support specific projects. Some non-profits also engage in fundraising events and campaigns to attract financial support.