# Kerfwise CNC Feeds & Speeds Calculator > CNC router rpm, feed, chip load with chip thinning, removal rate and spindle power. Calculates a starting spindle speed and feed rate for a CNC router or mill: rpm from cutting speed and diameter (or your spindle speed), feed = rpm × flutes × chip load, chip loads from a published router-bit chart for wood, plywood, MDF, plastics, acrylic and aluminium, the depth-of-cut reduction, radial chip thinning for light side cuts, material removal rate and a power estimate from the specific cutting energy. Metric or imperial. Part of usefulweb.app (https://usefulweb.app/). Part of [Kerfwise](https://kerfwise.usefulweb.app/) (ownerApp: kerfwise). 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://kerfwisefeedsspeeds.usefulweb.app/ (interactive tool at https://kerfwisefeedsspeeds.usefulweb.app/tool) - JSON API: POST https://kerfwisefeedsspeeds.usefulweb.app/api/v1/calculate with a JSON object of inputs (schema: https://kerfwisefeedsspeeds.usefulweb.app/api/v1/tool) - OpenAPI: https://kerfwisefeedsspeeds.usefulweb.app/openapi.json - MCP (Streamable HTTP): https://kerfwisefeedsspeeds.usefulweb.app/mcp - tool `kerfwise_feeds_speeds` ## Inputs - units (select): Units - material (select): Material - diameter (number): Cutter diameter - mm (metric) or inch (imperial). - flutes (integer): Flutes (cutting edges) - rpm (integer): Spindle speed - Used when no cutting speed is entered. - cuttingSpeed (number): Cutting speed (optional) - m/min (metric) or SFM (imperial). When set, the spindle speed is calculated from it. - spindleMinRpm (integer): Spindle minimum (optional) - spindleMaxRpm (integer): Spindle maximum (optional) - chipLoad (number): Chip load per tooth (optional) - mm or inch. Required for a custom material; overrides the chart otherwise. - chipLoadPosition (select): Start in the chart range at - radialEngagement (number): Radial engagement ae (optional) - Width of cut, mm or inch. Empty = full slot (ae = diameter). Below half the diameter the feed is raised for chip thinning. - axialDepth (number): Depth of cut ap (optional) - mm or inch. Empty = one diameter. - specificEnergy (number): Specific cutting energy (optional) - W·s/mm³ (1 hp·min/in³ = 2.73 J/mm³). Empty = the material’s planning value, where one is built in. - efficiency (number): Spindle efficiency ## Method - Spindle speed n = Vc × 1000 / (π × D) with Vc in m/min and D in mm (imperial: n = SFM × 12 / (π × D) with D in inch), limited to the spindle minimum and maximum. Without a cutting speed your spindle speed is used and the resulting cutting speed is shown. - Chip load per tooth: the published router-bit chart gives a low–high range at 1/8, 1/4, 3/8 and 1/2 inch (and larger); between the columns the range is interpolated linearly, below 1/8 inch it is scaled with the diameter. You choose the low end, the middle or the high end, or enter your own chip load. - Depth of cut: up to 1 × D the chart value is used, at 2 × D it is reduced by 25 % and at 3 × D by 50 % (linear in between). - Radial chip thinning: with a side cut narrower than half the diameter the real chip is thinner than the feed per tooth, so the programmed chip load is raised by 1 / √(1 − (1 − 2 ae/D)²) to keep the target chip thickness. - Feed vf = n × flutes × programmed chip load. Material removal rate Q = ae × ap × vf. Cutting power P = Q × specific cutting energy; spindle power = P / efficiency. ## Limits - Chart values are starting points for rigid machines and sharp solid-carbide bits. Start at the low end, listen and look at the chips, then adjust. Check the tool maker’s data and your machine’s limits.