New soft-and hard decision decoding algorithms are presented for general Reed-Muller codes m r of length 2 m and distance 2 m−r . We use Plotkin (u, u + v) construction and decompose code m r onto subblocks u ∈ m−1 r and v ∈ m−1 r−1. In decoding, we first try to find a subblock v from the better protected code and then proceed with the block u. The likelihoods of the received symbols are recalculated in a way similar to belief propagation. Thus, decoding is relegated to the two constituent codes. We repeat this recursion and execute decoding only at the end nodes j 1 and j j−1 . The overall complexity has low order of n log n. It is shown that this decoding substantially outperforms other algorithms of polynomial complexity known for RM codes. In particular, for medium and high code rates, the algorithm corrects most error patterns of weight d ln d/2.