Abstract：The length of the conventional polar code is limited to the power of two due to its basic construction principle, which may not guarantee the flexibility requirement of the coding parameters for the channel situations and system resources. Puncturing, shortening and repetition are three main techniques to overcome this problem. A new puncturing algorithm based on hierarchical permutation structure is presented in this paper, which can conveniently construct the rate-compatible punctured polar (RCPP) with flexible lengths and rates. For the presented algorithm, the punctured-bit number is well designed while performing the layer-by-layer splitting operation, thus the resulting puncture pattern has the uniform or quasi-uniform puncturing (QUP) distribution. Simulation results show that, the presented algorithm can achieve about 0.3dB and 0.15dB performance gains at a BLER of 〖10〗^(-5) compared to the random puncturing algorithm and the conventional QUP algorithm, respectively. Furthermore, the presented algorithm has more available puncture patterns, which may result in more practical RCPP codes.