V teorii kategorií je subfunktor speciálním typem funktoru v množině , který používá definici podmnožiny .
Nechť C je kategorie a F funktor od C do kategorie množin Set . Funktor G od C do Set je subfunktorem F if
Tento poměr se často zapisuje jako G ⊆ F .
Nechť 1 je například kategorie jednoho objektu a jednoho morfismu. Funktor F : 1 → Množina mapuje jediný objekt 1 na množinu S a shodná šipka 1 na shodnou funkci 1 S . Je snadné vidět, že subfunktory F přesně odpovídají podmnožinám S .
Subfunktory a v obecnějších situacích zobecňují pojem podmnožiny. Uvažujeme-li například kategorii C z otevřených množin nějakého topologického prostoru pomocí vnoření, pak kontravariantní funktory v množině odpovídají presheaves na tomto prostoru, tedy každé otevřené podmnožině nějaké množiny (například množině funkcí) s odpovídajícími mapami omezení. V tomto případě subfunktor odpovídá výběru podmnožiny v každé "množině funkcí" takovým způsobem, že mapy omezení "zůstanou stejné". Například presheaf hladkých funkcí je subfunktorem presheaf spojitých funkcí.
Nejdůležitějším příkladem subfunktoru jsou subfunktory Hom . Nechť c je objekt C , uvažujme funktor Hom(−, c ). Tento funktor přiřazuje objektu c ′ kategorie C všechny morfismy c ′→ c . Subfunktor Hom(−, c ) bude odpovídat pouze některé podmnožině morfismů se stejnými náhradními morfismy při přechodu do jiného bodu c . Takový subfunktor se nazývá síto a běžně se používá při definování Grothendieckových topologií .