Sentinel-2: Resampling Spatial Resolution

Hi Everyone,
I relative new in remote sensing. I want to ask a theoretical question about Sentinel-2.

Does resampling spatial resolution possible to do for all of the Sentinel-2 products, especially Level-1C? For instance, I want to uniform B1 - B12 spatial resolution to 20m . I just want to confirm it in terms of theory.

Could you share a reference for this topic?

So I think you mean resamling of the spatial resolution.

The spectral resolution is measured in nanometers and defines the number and bandwidth of bands. There area also spectral resampling techniques, but these do not really fit to your question.

To resample all Sentinel-2 bands to a common resolution of 20 meters, you need the S2 Resampling Operator.



Hi ABraun,

Thanks for the correction, that’s what i mean “spatial resolution”.

In other words, resampling spatial resolution is possible for all of Sentinel-2 products, include Level 1C?

especially L1C, yes.
The conversion of L1C to L2A products with sen2cor already involves resampling to a common resolution.


I just worried about exporting process using google earth engine. I exported my Sentinel-2 (Level 1C) image in 20m spatial resolution for all of its bands.

Thank you very much ABrum.

things are a bit different for the Google Earth Engine where S2 data are prepared for cloud access and each resolution is stored as a separate asset (described here)
Also the selection of a pixel size during the GEE export follows its own rules regarding scale and resampling.

As this is the SNAP forum, I assumed your question referred to the resampling of original S2 products in SNAP.

Yup, I’m so sorry about that Braum.

I mean, when it’s exported in 20m scale for each pixel and for each band, let’s say I exported it with a complete band, is that will be “illegal”?

sorry, I am not sure what you mean.

Sorry about my English.

I exported my Sentinel-2 image from GEE.

At the export function, I set my spatial resolution in 20m meters per pixel.

That’s will be automatically applied to all bands, including B4, B3, B2 (10m resolution) will be 20m resolution also.

My question is:

In remote sensing processing procedure, does that image proper to use?

thank you for clarification, no need to apologize :+1:

Yes, this is a valid operation in remote sensing. There are many applications where your data has to be stored at a defined spatial resolution, for example 20 m. The process which translates 10 and 60 m bands into 20 m is called resampling and it is one of the basic operations for image preparation.
You have to be aware that the information content of the images can change during this process and usually there are some parameters to define how the new pixel value is calculated under the new geometry (nearest neigbor, bilinear, bi-cubic…), but in GEE this is not very transparent and mostly done without asking the user. Still, you can use the output.

If you simply need images (or parts) in RGB at a certain resolution, you can also check the EO Browser:

I have distributed my question in some forums, and I got what I need in this forum.

Now, I can sleep very well. :grinning:

I really appreciate Braum, Thank you very much. :+1:

Hi there,

I have a question that fits well in this topic.
I have been searching explanations about the methodology used for the spatial downsampling of the bands. Unfortunately, I couldn’t find specifications.

Let’s say that I have an L1C image that I want to resample to 20m resolution. For me is quite intuitive (but I’m still not sure) that bands with 10m (B2, B3, B4) will be upscaled by averaging the value of 2 pixels in order to obtain 20m. But how are the 60m downsampled? the pixel is just splitted in 3 pixels of 20m? these 3 pixels will have the same value?

I am not sure if my question was clear.

Thank you,


Depends on upsampling method, for example bilinear.

Thank you for your reply. Do you know where I can find specifications about the resampling method? what does the bilinear do exactly?

Thank you

please have a look here

I can recommend reading about different methods online and in books, for example:


Hello guys. Seems I am faced with a similar challenge here. I want to extract some point values from my Sentinel-2 data. However, the points are sample plots of 20 m * 40 m in dimension. I want to downscale my sentinel-2 resolution from 10 m * 10 m to 20 m * 40 m. I will appreciate any suggestion on what to do, whether there are procedures I should take note of. Thank you in advance for your responses.

wouldn’t it be easier to import the sample plots as a vector and then extract mean values per polygon?

Resampling to 20x40 m will not grant that the pixel boundaries fall together with your plots.

Thank you @ABraun for your response. I did exactly what you just mentioned, but I am advised to resample my sentinel-2 to see whether it improves my model because I am regressing forest biomass with Sentinel-2 bands and variables in my model. I am working with 65 field transect plots (points) with 20 m * 40 m dimension each while my Sentinel-2 resolution is 10 * 10. Does it not matter to resample the sentinel. What do you suggest I do? I would be glad to receive your suggestion.

I see, thank you for the explanation.
If you use nearest neighbor resampling, the result will not change at all, because the pixel values stay the same. If you use bilinear resampling (or another) the pixel values are altered. But I see little in doing so, to be honest, only if you extract the values by points.

However, the S2 Resampling operator (under Optical > Geometric) only allows 10, 20 or 60 and the Resampling Operator (under Raster > Geometric) only allows square pixels. You can, technically, set 40 m and Bilinear so each pixel contains information of an area within 40x40m