Tools to protect children online.

Open-source software to block adult content, detect explicit material, and shield young people from online sexual exploitation. Run them on a single device or across your whole network — fully under your control.

If a child is in immediate danger, contact local emergency services. To report online child exploitation in the U.S., use the NCMEC CyberTipline at report.cybertip.org or call 1-800-843-5678.

14 projects

Online safety tools

NSFWJS

JavaScript · TensorFlow.js
MIT

A client-side neural network that classifies images as safe or explicit directly in the browser — no uploads, no server. Ideal for filtering user-generated content or building parental-control extensions that keep data on-device.

$ npm install nsfwjs

NudeNet

Python · ONNX
MIT

A lightweight, fully offline classifier and detector for nudity in images and video. It can both flag and automatically censor explicit regions, making it a strong building block for moderation pipelines and content-safety filters.

$ pip install nudenet

Private Detector

Python · TensorFlow
Apache-2.0

Open-sourced by Bumble, this model detects lewd and unsolicited explicit images so platforms can warn or shield recipients — a key defense against image-based sexual harassment and grooming of minors.

$ git clone github.com/bumble-tech/private-detector

Pi-hole

Shell · DNS sinkhole
EUPL-1.2

A network-wide DNS sinkhole that blocks domains for every device on your network at once. Paired with adult-content blocklists, it becomes a powerful, tamper-resistant family filter that runs on hardware as small as a Raspberry Pi.

$ curl -sSL https://install.pi-hole.net | bash

AdGuard Home

Go · DNS filtering
GPL-3.0

A self-hosted DNS server with built-in, one-click parental controls and "safe search" enforcement across Google, YouTube, and Bing. Blocks adult websites network-wide with a friendly dashboard and per-device rules.

$ curl -sSL https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh

Blocky

Go · DNS proxy
Apache-2.0

A fast, lightweight DNS proxy and ad/content blocker for local networks. Highly configurable blocklists and scheduling let you tighten filtering during kids' hours and run it in a tiny container alongside your other home services.

$ docker run -p 53:53/udp spx01/blocky

Technitium DNS Server

C# · DNS server
GPL-3.0

A powerful self-hosted DNS server with per-client filtering, blocklists, and safe-search enforcement, plus encrypted DNS (DoH, DoT, DoQ). Set stricter rules for kids' devices and block adult content network-wide — well beyond a basic resolver, with a clean web console.

$ docker run technitium/dns-server

E2guardian

C++ · filtering proxy
GPL-2.0

A content-aware web filtering proxy that inspects pages in real time — not just domains — blocking adult and unsafe material by category, keywords, and URL lists. The actively maintained successor to DansGuardian, suitable for a single home or an entire school network.

$ docker run fredbcode/e2guardian

PDQ + ThreatExchange

Python · C++
BSD-3-Clause

Meta's open-source perceptual hashing (PDQ for images, TMK+PDQF for video) and matching toolkit. Generate robust signatures and match content against shared hash lists of known CSAM and other harmful media — the same hashing approach used by NCMEC and major platforms.

$ pip install threatexchange

uBlock Origin

JavaScript · browser extension
GPL-3.0

A widely trusted, resource-efficient content blocker for Firefox and Chromium. Paired with adult-content and malware filter lists, it gives families a transparent, audited way to block unwanted sites and trackers right in the browser.

# add from your browser's extension store

NetGuard

Java · Android firewall
GPL-3.0

A no-root firewall for Android that controls internet access per app and applies host-based blocklists. A practical way to lock down a child's phone or tablet — block specific apps and filter adult and malicious domains device-wide.

# install from F-Droid or Google Play

dnscrypt-proxy

Go · encrypted DNS
ISC

A flexible DNS proxy with encrypted DNS (DNSCrypt, DoH), built-in blocklists, and cloaking that can force safe-search on major search engines. Enforce family-safe, tamper-resistant DNS that ISPs and apps can't quietly bypass.

$ brew install dnscrypt-proxy

Detoxify

Python · PyTorch
Apache-2.0

A set of trained models that score text for toxicity, threats, insults, and sexually explicit content across multiple languages. A building block for chat-safety filters and moderation pipelines that flag abusive or predatory messages aimed at minors.

$ pip install detoxify

OpenNSFW2

Python · TensorFlow
MIT

A maintained TensorFlow/Keras implementation of Yahoo's well-known Open-NSFW model that scores how likely an image or video frame is to be explicit. A simple, fully offline classifier for moderation pipelines and content-safety filters.

$ pip install opennsfw2

Building something that protects kids online?

If you maintain an open-source tool that helps prevent online exploitation, we'd love to add it to the catalog so more families and organizations can find it.

Submit your project