The Multi-Level Decomposition Diagrams (MLDDs) of this paper are a canonical representation of Boolean functions expliciting disjoint-support decompositions. MLDDs allow the reduction of memory occupation with respect to traditionalROBDDs by decomposing logic functions recursively into simpler - and more sharable - blocks. The representation is less sensitive to variable ordering, and because of this property, analysis of the MLDD graphs allows at times the identification of better variable orderings. The identification of more terminal cases by Boolean algebra techniques makes it possible to compensate the additional - small- CPU time required to identify the disjoint-support decomposition. We expect the properties of MLDDs to be usefulin several contexts, most notablylogicsynthesis, technology mapping, and sequential hardware verification.