Cloth filtration experiment
February/March 2021


What fabrics? The sewing community continues to sew cloth masks, and people who sew continue to ask each other about the optimal fabric combination. The goal of this study is to provide some data to help answer that question.

Individual protection: Many people who buy or sew cloth masks expect those masks to protect the person wearing the mask. This is in contrast to what some experts believe. Lindsey Marr put the expert view quite clearly: "N95 respirators and cloth masks serve different purposes.... An N95 must be able to protect an individual... on the other hand, the overall goal of wearing cloth masks... is to reduce community transmission." (Marr 2020) In contrast, a 70-something year old relative who cares for her 104 year old mother believes she's being "very careful" when she wears a two-layer cotton mask to the grocery store. I see similar sentiments in FaceBook sewing groups, a belief that cloth masks are quite protective for the wearer. My goal in this study is to inform the sewist and mask wearer what level of protection they may expect as individuals.

Washing: Washing is not addressed in most studies. Cloth masks tend to be washed, dried, and reused many times. Most studies of cloth masks evaluate new fabrics which have not been washed or dried. I will include some samples of fabrics washed and dried 10 times in a standard washer and dryer on the default wash and dry cycles (LG front-loaders, dryer is electric). A fragrance-free detergent.

Fabric selections

Many prior studies of filtration effectiveness of cloth provide inadequate details of the tested fabrics to allow sewists to purchase identical fabrics. The following include links to manufacturer websites for fabrics in this study:
  Link Description Weight
Kona Kona cotton A typical quilting fabric widely used in the sewing community and also tested by Lustig et al. 147.5 gsm
P40 Pellon 40 sew-in midweight stabilizer A non-woven 85% polyester, 15% viscose interfacing, which Pellon incorrectly described as "100% polyester" on its webpage (!) and so I used it for a while before realizing the error.
930 Pellon 930 sew-in midweight A non-woven 100% polyester interfacing. 41.1 gsm (measured)
0.511m x 2m piece weighs 42g
OlyFun OlyFun A non-woven polypropylene intended for crafting projects. Some sewists believe this makes an excellent filter; see 65 gsm
Flannel Robert Kaufman cotton flannel   169.5 gsm (Specified)
5 oz per sq yard
Sateen Spoonflower Organic Cotton Sateen 100% organic cotton, weave has smaller gaps than Kona. 130 gsm (Specified: 3.8 oz per square yard)
142 gsm (Measured)

Microscope photos of these (and other) fabrics are at:

Particle size

Many studies of cloth masks use submicron particle sizes to test filtration by cloth fabrics and cloth masks, consistent with the 0.3um particle size standard for N95 masks. However, Marr 2020 notes that NaCl and proteins are usually part of the viral droplet, so even dried out particles floating the the air could be expected to be much larger than a single virus. However, Marr does not quantify what the overall particle size range may be.

Nelson labs offers several filtration tests, which are also available through CTT Group:

  • NaCl: Sodium Chloride Aerosol Challenge is intended as a NIOSH pre-qualification test, so presumably uses 0.3um NaCl particles.
  • BFE and VFE: Bacterial Filtration Efficiency (BFE) uses Staphylococcus aureus aerosolized to a mean particle size (MPS) of 3.0 ± 0.3 um. Viral Filtration Efficiency (VFE) uses bacteriophage phiX174 aerosolized to a mean particle size (MPS) of 3.0 ± 0.3 um.

So... Test with 0.3um or 3.0um particles?

  • Covid perspective: What particle size dominates Covid transmission seems to be an open question. While large particles can hold more virus, large particles tend to be generated in the oral cavity which is not where Covid seems to occur. Covid is a lower respiratory illness, primarily, and small (1um or so) particles are generated there. A 0.3um particle is unlikely to contain enough virus to constitute an infectious dose. Probably 1um to 10um particles are of key concern... but we don't know.
  • Fabric masks perspective: Cloth masks block 5um and larger particles quite well. They block 0.3um particles quite poorly. That threshold for where cloth masks start to be effective falls right smack in that range where we don't know exactly which particle size to fret about.

Sample List

Following is my list of samples for NaCl submicron filtration and 3.0um BFE (Bacterial Filtration Efficiency). Total of 9 samples for NaCl, 4 for BFE.

Sample ID Test @0.3um Test @3.0um Outer layer Middle layer Face layer Washed? Description
3a Yes - Kona P40 Flannel No My most common construction.
3b Yes - Yes
3c - Yes No
4a Yes - Sateen OlyFun Flannel No My present best guess at the best combination
4c - Yes No
5a Yes - Kona - Kona No Community minimum: This is common in the sewing community.
5b Yes - Yes
5c - Yes No
6a Yes - Kona OlyFun Kona No Non-woven polypropylene is believed by some sewists to be superior to non-woven polyester for filtration. This sample will allow a comparison, with 6a vs 7a comparing polypropylene vs polyester. Also, while some studies show non-woven polypropylene as filtering well, I haven't seen assessment of filtration after washing.
6b Yes - Yes
7a Yes - Kona 930 Kona No A standard construction in the sewing community.
7c - Yes No
8a Yes - Sateen 930 Sateen No Kona cotton has ~130um gaps visible in microscope photographs while this sateen is a similar weight, thinner yarns, and without such gaps. 7a vs 8a will allow comparison of Kona (quilting woven cotton) vs sateen (a woven cotton with fewer gaps between yarns)
10a Yes - OlyFun OlyFun - No Compare similar weight of different non-wovens.
Added circa March 31; results expected mid/late April.
11a Yes - SmartFab Double-Thick SmartFab Double-Thick - No
12a Yes - 930 930 930 No
13a Yes - OlyFun OlyFun Flannel No Calculate Pflannel=P13/P10


Results: 3um BFE and submicron NaCl

Figure: The lines on the left correspond the submicron NaCl filtration, with solid lines being for unwashed and dashed lines for washed samples. The large X's correspond to BFE data for each plate, with the ranges for each plate annoated at the top. The bars near the middle of the graph show BFE average over all particle sizes, which is the typically reported result from this test.

Observations on combined submicron NaCl and BFE results:

  • The relative filtration performance of 0.8μm NaCl and the BFE average match, in the sense that if we order fabrics from best to worst, the ordering is the same in both. For example, my "best guess" combination sateen/OlyFun/flannel performed best in both, and Kona/Kona performed worst in both.
  • NaCl seems easier to filter than BFE bacterial globs. Filtration is better for 0.8μm NaCl than for 0.65-1.1μm BFE. It is not until about 3μm that BFE filtration results become as good as 0.8μm NaCl. This is surprising -- NaCl is charge-neutralized, so if anything I would expect opposite behavior.

Results: Submicron NaCl

Observations on submicron NaCl results:

  • 0.3μm and smaller is a chaotic mess. The most difficult to filter particles, and the size specified by the new ASTM F3502 cloth mask standard, results in noisy data. Thankfully, by 0.6μm, the data is cleaner... and there is little evidence that 1≤μm particles contribute much to viral transmission.
  • Best guess: Rewardingly, my "best guess" combination sateen/OlyFun/flannel indeed performed best. I've sewn masks with similar materials and found them acceptably breathable, and happily look forward to sewing a mask with my best guess.
  • Washing: Washing and drying on the default cycles 10 times did not affect filtration. The dashed lines in the plot show washed samples, and they filtered nearly identically to their unwashed counterparts. The fabrics included in the washed samples are: Kona woven cotton, OlyFun non-woven polypropylene, Robert Kaufman cotton flannel, Pellon P40 non-woven polyester/viscose, which is a fairly broad range of fabrics used by home sewists.
  • Polyester vs polypropylene: OlyFun (non-woven polypropylene, 65gsm) filtered better than Pellon 930 (non-woven polyester, 41gsm). We see this when we compare Kona/OlyFun/Kona vs Kona/930/Kona. However, in the "Mathematical analysis" below, we can see that the improvement is roughly proportional to the fabric weight (in gsm). Thus, non-woven polyester vs non-woven polypropylene may be equally good choices with regards to filtration if we compare the same weight non-woven.
  • Filter layer: A third filter layer is worthwhile. For 600um and larger particles, two layers of Kona cotton woven performed significantly worst.
  • Kona vs sateen: As hypothesized, the sateen weave cotton filtered better than the standard weave Kona cotton. Perhaps surprisingly, the breathability (resistance) was the same for boths.
Results of submicron NaCl testing
Sample ID Layers Washed? Filtration at most penetrating particle size Resistance (mmH2O)
3a Kona P40 Flannel No 23.6%@200nm 6.531
3b Yes 26.2%@200nm 6.329
4a Sateen OlyFun Flannel No 45.4%@300nm 6.498
5a Kona - Kona No 13%@300nm 6.056
5b Yes 7.9%@40nm 6.147
6a Kona OlyFun Kona No 32.4%@40nm 7.713
6b Yes 33.3%@200nm 8.179
7a Kona 930 Kona No 14.5%@40nm 5.959
8a Sateen 930 Sateen No 24%@200nm 5.841

Comparison to ASTM F3502 has a nice summary of this new standard for face coverings. Masks are rated for filtration of 0.3um particles, like N95 standards and unlike the European standard for community face coverings (CWA 17553) which tests with 3.0um particles. Masks are also rated for breathability.

ASTM F3502 My samples
Filtration Level 1 ≥20% All my samples filtered ≥20% @ 0.3um except the two layers of Kona cotton.
Level 2 ≥50% None of my samples filtered ≥50% @ 0.3um, though the sateen/OlyFun/flannel was close. The data shows a surprisingly large dip right at 0.3um. If this dip is measurement noise, and we interpolate betewen the 0.2um and 0.4um points, sateen/OlyFun/flannel would pass.
Breathability Level 1 ≤ 15 mm H2O All my samples were consistent with Level 1
Level 2 ≤ 6 mm H2O Several samples were marginal, suggesting that a larger batch (as required by the standard) would be unlikely to pass due to normal manufacturing variation, but that masks sewn with the proposed materials would not be grossly less comfortable than a Level 2 mask.

Mathematical analysis

We can extract the filtration improvement due to the addition of layers by comparing samples that differ in only that one layer. Assume for simplicity that: PTOT = P1 * P2, where PTOT is the total penetration of a multi-layer fabric combination, and P1 and P2 are the penetration amounts for the constituent single layers.

For 0.8μm, assuming PTOT = P1 * P2
Calculated Filtration Efficiency of Single Layer Source data (measured) Comments
OlyFun 47.78% Kona/OlyFun/Kona, Ptot=39.2% Kona/Kona, P1=73.6%  
Pellon 930 27.65% Kona/930/Kona, Ptot=53.5% Kona/Kona, P1=73.6% Pellon 930 is 41.1gsm (measured) while OlyFun is 65gsm (specified). If we scale up the estimated Pellon 930 efficiency by 65/41.1, we get 43.77%, which is very close to OlyFun. This suggests that a similar weight of Pellon 930 (a non-woven polyester) may give similar filtration as a similar weight of OlyFun (a non-woven polypropylene).
Kona 14.21% Kona/Kona,
  PTOT = 73.6% = PKona2

Admittedly, we know from that the first layer seems to contribute more than successive layers of the same type. Zangmeister 2020


  • 9 February, 2021 (Tuesday): Samples mailed to CTT Group.
  • 6 to 10 business days expected for shipping.
  • 2-3 weeks expected for testing by CTT Group.
  • 23 February, 2021: Samples received by CTT.
  • 1 March, 2021: Results received from CTT for 0.3um NaCl samples
  • 8 March, 2021: Results received from CTT for 3.0um BFE samples
  • 6 April, 2021: Samples 10a, 11a, 12a, 13a received by CTT
  • 7 April, 2021: Payment processed for samples 10a, 11a, 12a, 13a
  • 19 April, 2021: Results received for samples 10a, 11a, 12a, 13a
Last updated 15 March 2021
© Anna Mitros
Back to Ania's Home Page