Het tapijt van Sierpiński is een fractal die teruggaat op de Poolse wiskundige Wacław Sierpiński.  
Uit een vierkant wordt precies in het midden een vierkant verwijderd dat één-negende gedeelte van het vlak beslaat. Vervolgens worden deze procedure herhaald in elk van de overgebleven acht deelvierkanten. De procedure wordt oneindig herhaald (in het onderstaande plaatje vijf keer).  

De Hausdorff-dimensie van een tapijt van Sierpiński bedraagt 

; 

De oppervlakte van het tapijt van Sierpiński is nul (in standaard Lebesgue-maat).

De constructie lijkt sterk op de constructie van een Cantorverzameling, waar uit een lijn het middelste gedeelte wordt verwijderd, of op de driehoek van Sierpiński, waar uit een driehoek het middendeel wordt verwijderd. In drie dimensies volgt uit de constructie van een tapijt van Sierpiński de constructie van een Spons van Menger.

Brownse beweging in een tapijt van Sierpiński
De brownse beweging op een tapijt van Sierpiński heeft de laatste jaren de aandacht getrokken. Martin Barlow en Richard Bass hebben aangetoond dat een toevalsbeweging op het tapijt van Sierpiński langzamer verstrooit dan een onbelemmerde toevalsbeweging in het vlak. Deze laatste bereikt een gemiddelde afstand die proportioneel is aan n1/2 na n stappen, maar de toevalsbeweging op het discrete tapijt van Sierpiński bereikt slechts een gemiddelde afstand die proportioneel is aan n1/β voor een willekeurige β > 2. 

Zij toonden ook aan dat de toevalsbeweging voldoet aan 'sterkere, grotere afwijkingen toestaande ongelijkheden' (de zo genoemde "sub-gaussiaanse ongelijkheden") en dat het voldoet aan de elliptische ongelijkheid van Harnack zonder te voldoen aan de parabolische ongelijkheid. Het bestaan van zo'n voorbeeld was vele jaren een open vraag.

Computer-programma 

Het volgende Java-applet toont een tapijt van Sierpiński met behulp van een recursieve methode:
import java.awt.*;
import java.applet.*;
 
public class SierpinskiCarpet extends Applet 
{
    private Graphics g = null;
    private int d0 = 729; // 3^6

    public void init() 
    {
        g = getGraphics();
        resize(d0, d0);
    }

    public void paint(Graphics g) 
    {
        // Rekursion starten:
        drawSierpinskiCarpet (0, 0, getWidth(), getHeight() );
    }

    private void drawSierpinskiCarpet(int xOL, int yOL, int breedte, int hoogte) 
    {
        if (breedte>2 && hoogte>2) 
        {
            int b = breedte/3;
            int h = hoogte/3;
            g.fillRect (xOL+b, yOL+h, b, h);
            for (int k=0; k<9; k++) if (k!=4) 
            {
                int i=k/3;
                int j=k%3;
                drawSierpinskiCarpet (xOL+i*b, yOL+j*h, b, h); // Recursie
            }
        }
    }
}

Zie ook 
 Apolloniaans net
 Boom van Pythagoras

Fractale meetkunde