Skip to content
induwara.lk
Premium
induwara.lkDeep learning · CNN

CNN Receptive Field Calculator

Work out the exact receptive field of any convolutional network, layer by layer. Enter your conv and pool layers and read off the receptive field, jump (effective stride) and output size — the numbers you paste into model cards, papers and architecture notes.

By Induwara AshinsanaUpdated Jul 8, 2026
Receptive field of your layer stack
Presets

Enables output-size and "covers image?" checks. Leave blank to skip.

Layer stack (3/40)input → output, top to bottom
1
Type
2
Type
3
Type
Receptive field
7 × 7 px
Across 3 layers
Jump (effective stride)
1 px
Input pixels between adjacent output features
Final output size
224 × 224
From 224px input
Covers the image?
No
RF < input (224px) — a neuron can't see the whole object
Receptive-field growth
L1 Conv
3
L2 Conv
5
L3 Conv
7

Per-layer arithmetic

#Layerk_effjumpRFcenteroutput
1Conv 3×3s1 p13130.5224
2Conv 3×3s1 p13150.5224
3Conv 3×3s1 p13170.5224

Recurrence from Araujo et al., Computing Receptive Fields of CNNs(Distill, 2019); dilated kernel and output size from Dumoulin & Visin (arXiv:1603.07285). v1 assumes square kernels/strides and a single linear stack (no residual branches). Sources cited in full below the tool.

How it works

The receptive field of a neuron is the region of the input image that can influence it. For a plain stack of convolution and pooling layers it is computed by a deterministic forward recurrence — the same one published by Araujo, Norris and Sim in the Distill (2019) reference, "Computing Receptive Fields of Convolutional Neural Networks." The recurrence starts at the input with jump j = 1, receptive field r = 1 and feature center start = 0.5.

For each layer with kernel k, stride s, padding p and dilation d:

  1. Effective kernel(accounts for dilation, from Dumoulin & Visin, 2016): k_eff = d · (k − 1) + 1. A plain kernel has d = 1, so k_eff = k.
  2. Jump out (feature stride, how many input pixels lie between adjacent output features): j_out = j_in · s.
  3. Receptive field out — the key relation: r_out = r_in + (k_eff − 1) · j_in. Each layer widens the receptive field by (k_eff − 1) input pixels, scaled by the jump accumulated before it — which is why strides deep in the network compound.
  4. Feature center (used for exact alignment): start_out = start_in + ((k_eff − 1) / 2 − p) · j_in. Padding shifts the center but never changes the receptive-field size.
  5. Output size (standard convolution arithmetic, shown when you supply an input size n): n_out = floor((n + 2p − k_eff) / s) + 1.

Pooling layers use the identical recurrence — a pool is just a convolution with those k, s and p and no learnable weights — which is why both layer types share one formula. The reported receptive field is the final layer's r_out. To keep the result trustworthy, the calculator computes it two independent ways: the step-by-step recurrence above and the equivalent closed form r = 1 + Σ (k_eff − 1) · (product of earlier strides), and only shows the "closed-form verified" badge when both agree to the pixel.

Worked examples

Three stacked 3×3 convolutions

The classic VGG result — why 3×3 stacks replaced big kernels

  1. Start: j = 1, r = 1
  2. Conv 3×3 s1: k_eff = 3, j = 1·1 = 1, r = 1 + (3−1)·1 = 3
  3. Conv 3×3 s1: j = 1, r = 3 + (3−1)·1 = 5
  4. Conv 3×3 s1: j = 1, r = 5 + (3−1)·1 = 7
  5. Result: receptive field = 7 × 7 px, jump = 1 (matches RF = 2N+1)

AlexNet conv1 + max-pool1

Cross-checked against the published AlexNet receptive-field table

  1. Start: j = 1, r = 1
  2. Conv 11×11 s4 p0: k_eff = 11, j = 1·4 = 4, r = 1 + (11−1)·1 = 11
  3. MaxPool 3×3 s2 p0: k_eff = 3, j = 4·2 = 8, r = 11 + (3−1)·4 = 19
  4. Result: receptive field = 19 × 19 px, jump = 8 (r: 11→19, j: 4→8)

One dilated 3×3 convolution (d = 2)

Dilation widens reach without extra weights

  1. Start: j = 1, r = 1
  2. Conv 3×3 s1 d2: k_eff = 2·(3−1)+1 = 5
  3. r = 1 + (5−1)·1 = 5
  4. Result: receptive field = 5 × 5 px — the reach of a plain 5×5, with only 9 weights

Frequently asked questions

Sources & references

Related tools

Rate this tool
Be the first to rate

Comments & feedback

Spotted a bug or want an improvement? Tell us — our team reviews every comment, and good ideas get built. Comments are public and anonymous.

Found a bug, edge case, or want to suggest an improvement?

Email me at [email protected] — most fixes ship within 24 hours.