# Will It Fit? > Check if a sofa, wardrobe or box fits through doors, corners, stairs and lifts. Enter the item’s length, width and height and the measurements along the delivery path. Will It Fit? tries every orientation, in-plane diagonal tilts and the classic moving-sofa corner calculation, then reports pass/fail per checkpoint with spare centimetres and how to carry the item. Part of usefulweb.site (https://usefulweb.site/). Results are deterministic calculations from the inputs and the listed assumptions; the API returns exactly what the web page shows. ## Use it - Human interface: https://willitfit.usefulweb.site/ (interactive tool at https://willitfit.usefulweb.site/tool) - JSON API: POST https://willitfit.usefulweb.site/api/v1/calculate with a JSON object of inputs (schema: https://willitfit.usefulweb.site/api/v1/tool) - OpenAPI: https://willitfit.usefulweb.site/openapi.json - MCP (Streamable HTTP): https://willitfit.usefulweb.site/mcp - tool `will_it_fit` ## Inputs - itemLength (number, required): Item length - itemWidth (number, required): Item width/depth - itemHeight (number, required): Item height - clearance (number): Safety clearance - Subtracted from every opening dimension (hands, padding, wobble). - doorWidth (number, required): Door clear width - Measure between door stops with the door fully open. - doorHeight (number, required): Door clear height - hallwayWidthBefore (number): Hallway width before corner - Leave empty to skip the corner check. - hallwayWidthAfter (number): Hallway width after corner - Defaults to the width before the corner. - ceilingHeight (number): Hallway ceiling height - Used to tilt the item upward in the corner. - stairsWidth (number): Stair width - Leave empty to skip stairs. - stairsHeadroom (number): Stair headroom (perpendicular to pitch) - elevatorDoorWidth (number): Elevator door width - Leave elevator fields empty to skip. - elevatorDoorHeight (number): Elevator door height - elevatorCabinWidth (number): Elevator cabin width - elevatorCabinDepth (number): Elevator cabin depth - elevatorCabinHeight (number): Elevator cabin height - roomWidth (number): Room width - Leave empty to skip the room check. - roomDepth (number): Room depth - roomHeight (number): Room height ## Method - The item is treated as a rigid rectangular box; the safety clearance is subtracted from every opening dimension. - Doors, stairs and elevator doors: for each of the 3 choices of travel axis, the remaining two sides form the cross-section; it is rotated in the opening plane from 0° to 90° in 0.25° steps (bounding box p·cosθ+q·sinθ by p·sinθ+q·cosθ) and the best margin is kept — this covers the "diagonal" tilt through a door. - Corner: the classic moving-sofa formula for a right-angle turn between corridors of widths a and b gives the longest flat length L_max(w) = min over θ of a/sinθ + b/cosθ − w/(sinθ·cosθ), evaluated numerically in 0.05° steps. - Corner, 3D: every side may stand vertical if it fits under the ceiling; the item may also be tilted upward by φ (constant during the turn) so its plan length becomes L·cosφ + h·sinφ while L·sinφ + h·cosφ stays under the ceiling. Fixed-tilt is a conservative approximation of real manoeuvring. - Elevator cabin and room: one side stays horizontal while the other two stand in a vertical plane tilted by φ = 0…90° (1° steps): height p·sinφ + q·cosφ must fit under the ceiling and the footprint (p·cosφ + q·sinφ) × side is rotated on the floor (0.25° steps) to fit the plan — this covers upright placement, standing diagonally in the cabin and leaning. - Stairs are modelled as an opening of stair width × headroom; landings and turns of the stairwell are not modelled. ## Limits - Geometric estimate for rigid boxes. Real items have legs, curves and soft parts; real people need grip room. Measure twice.