ForHosting KIT · Images

Image blur radius calculator

This image blur radius calculator turns one non-negative blur strength into practical Gaussian convolution dimensions.

● BetaFree · in your browser
Use it from WebAPIEmailTelegramApp soon

The strength is interpreted as the Gaussian standard deviation, or sigma, in pixels. The result reports the radius needed to cover three standard deviations on each side and the corresponding odd kernel size. It is designed for developers configuring image libraries, shaders, canvas filters, and processing pipelines that expose different blur controls. No image is uploaded or inspected, and the same input always produces the same output.

Translate blur strength into implementation dimensions

Image tools often describe the same Gaussian blur with different controls. One interface asks for sigma, another asks for a radius, and a convolution function may require the complete kernel width. This calculator makes those representations explicit. It treats strength as sigma in pixels, then selects a radius large enough to include values from minus three sigma through plus three sigma. That interval contains virtually all of the useful weight of a Gaussian distribution while keeping the convolution finite. The radius is calculated as the ceiling of three times the strength, because a fractional boundary still needs a whole pixel position in a discrete image kernel. The kernel size is then twice the radius plus one: one side, the center pixel, and the matching positions on the other side. For example, a strength of two produces a radius of six and a thirteen-pixel kernel. This conversion gives implementations a clear, reproducible rule instead of relying on an undocumented slider.

Read the radius and kernel size correctly

The `gaussian_radius` result is the number of neighboring pixel positions sampled in each direction from the center. It is not the complete width. A radius of six therefore reaches six pixels left and six pixels right in a horizontal pass, or six pixels above and below in a vertical pass. The `kernel_size` result includes both sides and the center, so it is always an odd positive integer. Many image libraries accept this full size directly, while others accept radius or sigma and construct their own coefficients. Check which quantity your target API expects before copying a value. The returned numbers describe kernel geometry, not the individual Gaussian weights. To build the weights, evaluate the Gaussian function at every integer offset from negative radius through positive radius, then normalize the values so their sum is one. For a two-dimensional blur, implementations commonly apply the one-dimensional kernel horizontally and vertically as separate passes, producing the same Gaussian result with much less work than a full square convolution.

Handle zero, fractions, and visual differences

A strength of zero represents no blur. It returns a radius of zero and a kernel size of one, which is an identity operation containing only the center pixel. Positive fractional strengths are supported and can be useful for subtle smoothing. Because the radius uses a ceiling, the kernel changes only when three times the strength crosses an integer boundary, even though the Gaussian coefficients would continue changing smoothly between those boundaries. Negative strength is rejected because a Gaussian standard deviation cannot be negative; the calculator never silently takes an absolute value or clamps the input. The estimate deliberately uses a three-sigma cutoff, a common practical balance between accuracy and computation. Another application may choose two sigma, four sigma, a fixed maximum radius, or a vendor-specific approximation, so equal slider labels do not guarantee identical pixels across programs. Color space, edge extension, alpha handling, coefficient precision, and downsampling can also change the visible result. Record those choices alongside the returned dimensions when exact reproduction matters.

Configure a convolution function

Convert a sigma-style blur control into the odd kernel width required by an image-processing library.

Plan shader sampling

Estimate how many neighboring texels a separable Gaussian shader must sample on each side of the center.

Document a processing pipeline

Store an explicit radius and kernel size next to blur strength so implementations share the same cutoff rule.

What does an API request cost?

Each API request costs $0.002. The deterministic calculator is also available free in the browser.

What does strength mean?

Strength is interpreted as the Gaussian standard deviation, commonly called sigma, measured in pixels.

How is the radius calculated?

For positive strength, the radius is the ceiling of three times strength, covering three standard deviations on each side.

Why is the kernel size always odd?

The kernel contains the center pixel plus the same number of sampled positions on both sides, so its size is two times radius plus one.

What happens when strength is zero?

The result is radius zero and kernel size one, representing an identity operation with no blur.

Does the calculator process an image?

No. It only estimates Gaussian kernel geometry. It does not upload, decode, alter, or store image data.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/image/blur-estimate

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/image/blur-estimate \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"strength":2}'
{
  "strength": 2
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "image.blur_estimate",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

max_mb15
max_megapixels12
HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

Read the full KIT documentation →