The Universal Soil Loss Equation (USLE) and its revised version (RUSLE) are often used to estimate soil erosion at regional landscape scales. USLE/RUSLE contain parameters for slope length factor (L) and slope steepness factor (S), usually combined as LS. However a major limitation is the difficulty in extracting the LS factor. Methods to estimate LS based on geographic information systems have been developed in the last two decades. L can be calculated for large watersheds using the unit contributing area (UCA) or the slope length (λ) as input parameters. Due to the absence of an estimation of slope length, the UCA method is insufficiently accurate. Improvement of the spatial accuracy of slope length and LS factor is still necessary for estimating soil erosion. The purpose of this study was to develop an improved method to estimate the slope length and LS factor. We combined the algorithm for multiple-flow direction (MFD) used in the UCA method with the LS-TOOL (LS-TOOLSFD) algorithms, taking into account the calculation errors and cutoff conditions for distance, to obtain slope length (λ) and the LS factor. The new method, LS-TOOLMFD, was applied and validated in a catchment with complexly variable slopes. The slope length and LS calculated by LS-TOOLMFD both agreed better with field data than with the calculations using the LS-TOOLSFD and UCA methods, respectively. We then integrated the LS-TOOLMFD algorithm into LS-TOOL developed in Microsoft's .NET environment using C# with a user-friendly interface. The method can automatically calculate slope length, slope steepness, L, S, and LS factor, providing the results as ASCII files that can be easily used in GIS software and erosion models. This study is an important step forward in conducting accurate large-scale erosion evaluation.