A tool selection device comprising: an analysis unit that is configured to determine a feed direction and a pick feed direction of a tool, based on the shape of a machining region including a multi-curved surface or information relating to a machining surface (Ms) in the machining region, and to create parameter information (Pi); and a selection unit that is configured to select a tool to use for machining the machining region, based on the parameter information (Pi), from among a plurality of tools having a bottom cutting edge formed in a curved-surface shape and a side cutting edge formed in a curved-surface shape having a radius of curvature different from a radius of curvature of a curved surface of the bottom cutting edge, characterized in that in the parameter information (Pi), at least a value relating to a minimum radius of curvature in the machining surface (Ms) and a value relating to a maximum radius of curvature in the pick feed direction, a value relating to a curvature of a corner portion (Cn) of the machining region, a value relating to a curvature of a fillet portion, and a value relating to a height of the fillet portion are recorded, the selection unit is configured to select a tool that satisfies a first condition and a second condition as a tool for the machining region, wherein the first condition is that a difference between a radius of curvature of the side cutting edge and a radius of curvature of the fillet portion obtained from the parameter information (Pi) is within a predetermined value, and wherein the second condition is that a difference between a diameter of the bottom cutting edge and a radius of curvature of the corner portion (Cn) obtained from the parameter information (Pi) is within a predetermined value, a difference between an allowable minimum radius of curvature of the tool and a minimum radius of curvature of the machining surface (Ms) is within a predetermined value, and a difference between a height of the side cutting edge and a height of a position where the fillet portion is provided in the machining region is within a predetermined value. an analysis unit that is configured to determine a feed direction and a pick feed direction of a tool, based on the shape of a machining region including a multi-curved surface or information relating to a machining surface (Ms) in the machining region, and to create parameter information (Pi); and a selection unit that is configured to select a tool to use for machining the machining region, based on the parameter information (Pi), from among a plurality of tools having a bottom cutting edge formed in a curved-surface shape and a side cutting edge formed in a curved-surface shape having a radius of curvature different from a radius of curvature of a curved surface of the bottom cutting edge, characterized in that in the parameter information (Pi), at least a value relating to a minimum radius of curvature in the machining surface (Ms) and a value relating to a maximum radius of curvature in the pick feed direction, a value relating to a curvature of a corner portion (Cn) of the machining region, a value relating to a curvature of a fillet portion, and a value relating to a height of the fillet portion are recorded, the selection unit is configured to select a tool that satisfies a first condition and a second condition as a tool for the machining region, wherein the first condition is that a difference between a radius of curvature of the side cutting edge and a radius of curvature of the fillet portion obtained from the parameter information (Pi) is within a predetermined value, and wherein the second condition is that a difference between a diameter of the bottom cutting edge and a radius of curvature of the corner portion (Cn) obtained from the parameter information (Pi) is within a predetermined value, a difference between an allowable minimum radius of curvature of the tool and a minimum radius of curvature of the machining surface (Ms) is within a predetermined value, and a difference between a height of the side cutting edge and a height of a position where the fillet portion is provided in the machining region is within a predetermined value.