Clamp a number to a range

Keep a number inside an inclusive minimum and maximum.

JavaScript Version 1.0.0 · MIT · .md

clamp-a-number-between-two-values.js
function clamp({ value, min, max }) { return Math.min(max, Math.max(min, value)); }

Input & expected output

Input

{
  "value": 120,
  "min": 0,
  "max": 100
}

Expected output

100

The edge case

Input

{
  "value": -5,
  "min": 0,
  "max": 100
}

Expected output

0

Know the limits

  • All values must be finite numbers and min must not exceed max.
  • Clamping is a product decision; reject invalid input instead when hiding it would be unsafe.

The function above is the implementation used by the lab. The lab validates JSON types and caps size before execution; include equivalent validation when accepting untrusted input in your application.

Source & maintenance

Based on Clamp a number between two values from the original 1loc collection by Nguyen Huu Phuoc, with r-i-c-h. Copyright (c) 2020 phuoc-ng. MIT licensed.

Curated implementation; explicit input bounds, edge cases, local fixtures and rebuilt presentation. Original MDX retained as inert source evidence.

Maintained by Oveyon. Source commit: 14b481cf60df. Read the license.

Local fixture scope · Node.js 22.23.2 · reviewed October 28, 2026. No external service is required.

Keep exploring

Type two or more characters. Try “duplicate”, “webhook” or “retry”.