In this paper, we propose efficient maximum-likelihood (ML) decoding for binary Kronecker product-based (KPB) codes. This class of codes, have a matrix defined by the n-fold iterated Kronecker product Gn = F⊗n of a binary upper-triangular kernel matrix F, where some columns are suppressed given a specific puncturing pattern. Polar and Reed- Muller codes are well known examples of such KPB codes. The triangular structure of Gn enables to perform ML decoding as a binary tree search for the closest codeword to the received point. We take advantage of the highly regular fractal structure of Gn and the “tree folding” technique to design an efficient ML decoder, enabling to decode relatively longer block lengths than with a standard binary tree search. The tree κ-folding operation transforms the binary tree with N levels into a non-binary tree with N=2κ levels, where the search can be significantly accelerated by a suitable ordering of the branch metrics. For a given κ we can find (n over κ) different folding which lead to decoders with different complexity, for a given code. Using the proposed folded tree decoder, we provide exact ML performances of some Reed-Muller and polar codes over a binary AWGN channel for the block length up to 256.