Factors affecting CO2 flooding of shale oil reservoir were studied by nuclear magnetic resonance (NMR) experiments, the effects of time, pressure, temperature on the recovery of CO2 flooding in shale oil reservoir were analyzed based on nuclear magnetic resonance T2 spectrum, and the effect of fracture development degree on recovery of CO2 flooding in shale oil reservoir was analyzed based on NMR images. In the process of CO2 flooding, the recovery degree of the shale oil reservoir gradually increases with time. With the rise of pressure, the recovery degree of the shale oil reservoir goes up gradually. With the rise of temperature, the recovery degree of shale oil increases first and then decreases gradually. For CO2 flooding in matrix core, the crude oil around the core surface is produced in the initial stage, with recovery degree going up rapidly; with the ongoing of CO2 injection, the CO2 gradually diffuses into the inside of core to produce the oil, and the increase of recovery degree slows down gradually. For CO2 flooding in matrix core with fractures, in the initial stage, the oil in and around the fractures are produced first, and the recovery degree goes up fast; with the extension of CO2 injection time, CO2 diffuses into the inside of the core from the fractures and the core surface to produce the oil inside the core, and the increase of recovery degree gradually slows down. Fractures increase the contact area between injected CO2 and crude oil, and the more the fractures and the greater the evaluation index of fractures, the greater the recovery degree of shale oil will be.