Trimmed B-spline surfaces are common in the geometric computer aided design (CAD) community due to their capability to represent complex shapes that can not be modeled with ease using tensor product B-spline and NURBs surfaces. However, in many cases, handling trimmed-surfaces is far more complex than tensor-product (non-trimmed) surfaces. Many algorithms that operate on tensor-product surfaces, such as algorithms toward rendering, analysis and manufacturing, need to be specially adapted to consider the trimming domains. Frequently, these special adaptations result in lack of accuracy and elevated complexity. In this paper, we present an algorithm for converting general trimmed surfaces into a set of tensor-product (typically B-spline) surfaces. We focus on two algorithms to divide the parametric space of the trimmed surface into four-sided quadrilaterals with freeform curved boundaries, which is the first step of the algorithm. Then, the quadrilaterals are parameterized as planar parametric patches, only to be lifted to the Euclidean space using a surface-surface composition, resulting in tensor product surfaces that precisely tile the input trimmed surface in Euclidean space. The algorithm is robust and precise. We show that we can handle complex, industrial level, objects, with numerous high orders and rational surfaces and trimming curves. Finally, the algorithm provides user control on some properties of the generated tensor-product surfaces.