Let G be a separable family of graphs. Then for all positive constants ǫ and ∆ and for every sufficiently large integer n, every sequence G 1 , . . . , G t ∈ G of graphs of order n and maximum degree at most ∆ such that e(G 1 )+· · ·+e(G t ) ≤ (1−ǫ) n 2 packs into K n . This improves results of Böttcher, Hladký, Piguet, and Taraz when G is the class of trees and of Messuti, Rödl, and Schacht in the case of a general separable family. The result also implies approximate versions of the Oberwolfach problem and of the Tree Packing Conjecture of Gyárfás and Lehel (1976) for the case that all trees have maximum degree at most ∆.The proof uses the local resilience of random graphs and a special multi-stage packing procedure.