Hardwood Initiative Cost-Share Program

The Hardwood Initiative Cost-Share Program provides cost share to private landowners (individuals, companies, LLCs, NGOs) who complete eligible hardwood management practices as recommended by a DOF forester. Cost share will be 90% of the cost, not to exceed the following per-acre limits:

*per-acre

In addition to the per-acre limits, the hardwood initiative cost share has a 5-acre minimum and a maximum of 100 acres per tract, per landowner, per year.


To learn whether any of these practices are right for your forest, consult your local DOF forester.

Find a DOF Forester


Additional Resources

ImageTitleIDDescriptionContent TypeViewhf:tax:document-categoryhf:tax:Media
Hardwood Assessment Tool (HAT)
Hardwood Assessment Tool (HAT)

This Hardwood Assessment Tool (HAT) aids in gathering and summarizing data for management plans.

Resource, TemplateViewforest-managementresource template
Hardwood Initiative Cost-Share Program - Cost Assistance for Hardwood Management
Hardwood Initiative Cost-Share Program – Cost Assistance for Hardwood ManagementFT0071

Forestry topic information sheet provides information about Department of Forestry’s Hardwood Initiative Cost-Share Program, who is eligible and what qualifies for cost share.

PublicationViewfinancial-assistance-forest-management forest-managementpublication

Contact Us

DOF foresters can assist you with your forestland, contact your local DOF forester.

For more information or questions, e-mail us or use our contact form.



`; frag.appendChild(card); }); if (!append) els.list.innerHTML = ''; els.list.appendChild(frag); } function updateCounter(total, shown) { if (els.count) els.count.textContent = `Showing ${shown} of ${total} Century Forest properties`; } function updatePager(total, shown) { if (!els.loadMore) return; const more = shown < total; els.loadMore.hidden = !more; if (more) els.loadMore.textContent = `Load ${Math.min(PAGE_SIZE, total - shown)} more`; } function renderAll({ append = false } = {}) { const filtered = applyFilters(rows); const end = state.page * PAGE_SIZE; const visible = filtered.slice(0, end); renderCards(append ? filtered.slice((state.page - 1) * PAGE_SIZE, end) : visible, { append }); updateCounter(filtered.length, visible.length); updatePager(filtered.length, visible.length); } // events if (els.search) { els.search.addEventListener('input', (e) => { state.q = e.target.value || ''; state.page = 1; renderAll(); }); } if (els.county) { els.county.addEventListener('change', (e) => { state.county = e.target.value || ''; state.page = 1; renderAll(); }); } if (els.loadMore) { els.loadMore.addEventListener('click', () => { state.page += 1; renderAll({ append: true }); }); } // initial draw renderAll(); });