Photovoltaic (PV) system has been widely used to reduce the consumption of fossil fuels and environmental pollution. The PV system is susceptible to line-to-ground (LG) and line-to-line (LL) faults due to equipment aging and insulation damage. The LG and LL faults will lead to malfunction and even catastrophic fire hazards in a PV system. Usually, there are protection devices. However, the operation of the maximum power point tracking controller and the effect of partial shading will lower the fault current to be unable to trigger the protection devices. Thus, it is difficult to detect and locate the faults accurately. It is necessary to study the characteristics of LG and LL faults for fault detection. This article determines the voltage characteristics of the LG and LL faults with the consideration of fault impedance and partial shading. The fault detection and location algorithm based on fault voltage behavior is established and developed on MATLAB. According to the simulation and experimental results, the proposed technique can detect and locate the LG and LL faults effectively despite the effects of fault impedance and partial shading in a PV system.