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.
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:
- 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. - Jump out (feature stride, how many input pixels lie between adjacent output features):
j_out = j_in · s. - 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. - 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. - 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
Frequently asked questions
Sources & references
- Araujo, Norris & Sim (2019) — Computing Receptive Fields of Convolutional Neural Networks (Distill)
- Dumoulin & Visin (2016) — A guide to convolution arithmetic for deep learning (arXiv:1603.07285)
- Dang Ha The Hien (2017) — A guide to receptive field arithmetic for CNNs (AlexNet cross-check)
- Luo et al. (2016) — Understanding the Effective Receptive Field in Deep CNNs
The formulas on this page were last cross-checked against the Distill reference and the AlexNet worked table on 2026-07-08. Everything runs in your browser — no layer data leaves your device.
Related tools
Pairs with the CNN Output Size Calculator — size the tensor shapes, then confirm the receptive field covers your objects.
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.