MIT-licensed JavaScript model that sorts images into porn, hentai, sexy, drawing or neutral in-browser
NSFWJS is an open-source classifier rather than a service: you install the library, it loads a TensorFlow.js model, and images are scored locally into five buckets (drawing, neutral, sexy, hentai, porn) so nothing is uploaded to a moderation vendor. It runs in the browser, under Node with the tfjs-node backend, and in React Native. The maintainers report roughly 90 to 93 percent accuracy, and you can self-host the weights to cut bundle size or swap in your own model. It is maintained by Infinite Red, a US development consultancy, under the MIT licence; nsfwjs.com is the live demo. There is no hosted API and nothing to pay.
MIT-licensed open source with no paid tier and no hosted API. The only cost is the compute of running the model yourself.
Use tool ↗The right choice when you need a first-pass nudity filter and cannot or will not send user images to a third party: it runs client-side, costs nothing, and the licence permits commercial use. Accuracy around 90 percent makes it a triage layer, not a compliance control, so expect false flags on swimwear and misses on borderline material. There is no dashboard, no policy tuning and no support contract.
Watch out: It only detects nudity-adjacent categories. Violence, weapons, self-harm and CSAM detection are outside what this model does.
No reviews yet — be the first to review NSFW JS.
Reviews are tied to your EffectHub account — one review per tool, so the rating for NSFW JS reflects real users.
No questions yet — ask the first one about NSFW JS.
Questions about NSFW JS are tied to your EffectHub account, so answers can reach you and the section stays free of spam.