{"id":13746884,"url":"https://github.com/words/cuss","last_synced_at":"2026-01-03T17:56:18.614Z","repository":{"id":45218679,"uuid":"59048913","full_name":"words/cuss","owner":"words","description":"🤬 Map of profane words to a rating of sureness","archived":false,"fork":false,"pushed_at":"2023-04-29T07:45:23.000Z","size":194,"stargazers_count":168,"open_issues_count":0,"forks_count":32,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-11-11T17:49:55.145Z","etag":null,"topics":["butt","cuss","dirty","foul","indecent","obscene","profane","profanity","vulgar"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/words.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":"funding.yml","license":"license","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null},"funding":{"github":"wooorm"}},"created_at":"2016-05-17T18:36:21.000Z","updated_at":"2024-08-27T06:32:03.000Z","dependencies_parsed_at":"2023-01-23T02:31:02.797Z","dependency_job_id":"579f9da5-b499-46ed-b445-25bd4dcfade2","html_url":"https://github.com/words/cuss","commit_stats":{"total_commits":145,"total_committers":18,"mean_commits":8.055555555555555,"dds":"0.15172413793103445","last_synced_commit":"e09ba41d2b2398057a5c5cbaaaf235ae51ba468d"},"previous_names":[],"tags_count":31,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/words%2Fcuss","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/words%2Fcuss/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/words%2Fcuss/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/words%2Fcuss/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/words","download_url":"https://codeload.github.com/words/cuss/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224842536,"owners_count":17378987,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["butt","cuss","dirty","foul","indecent","obscene","profane","profanity","vulgar"],"created_at":"2024-08-03T06:01:03.643Z","updated_at":"2026-01-03T17:56:18.606Z","avatar_url":"https://github.com/words.png","language":"JavaScript","funding_links":["https://github.com/sponsors/wooorm"],"categories":["JavaScript"],"sub_categories":[],"readme":"# cuss\n\n[![Build][build-badge]][build]\n[![Coverage][coverage-badge]][coverage]\n[![Downloads][downloads-badge]][downloads]\n[![Size][size-badge]][size]\n\nMap of profanities, slurs, and obscenities to a sureness rating.\n\n## Contents\n\n*   [What is this?](#what-is-this)\n*   [When should I use this?](#when-should-i-use-this)\n*   [Install](#install)\n*   [Use](#use)\n*   [API](#api)\n    *   [`cuss`](#cuss-1)\n*   [Data](#data)\n*   [Types](#types)\n*   [Compatibility](#compatibility)\n*   [Related](#related)\n*   [Contributing](#contributing)\n*   [Security](#security)\n*   [License](#license)\n\n## What is this?\n\nThis package exposes lists of profane words in several languages.\nThis rating *does not* represent *how* vulgar a term is.\nIt represents how likely it is to be used as either profanity or clean text.\n\n## When should I use this?\n\nUse this for researching natural language.\nDon’t use it to make a “profanity filter”.\nThose are bad.\n\n## Install\n\nThis package is [ESM only][esm].\nIn Node.js (version 14.14+, 16.0+), install with [npm][]:\n\n```sh\nnpm install cuss\n```\n\nIn Deno with [`esm.sh`][esmsh]:\n\n```js\nimport {cuss} from 'https://esm.sh/cuss@2'\n```\n\nIn browsers with [`esm.sh`][esmsh]:\n\n```html\n\u003cscript type=\"module\"\u003e\n  import {cuss} from 'https://esm.sh/cuss@2?bundle'\n\u003c/script\u003e\n```\n\n## Use\n\n```js\nimport {cuss} from 'cuss'\nimport {cuss as cussPt} from 'cuss/pt'\n\nconsole.log(Object.keys(cuss).length) // 1776\nconsole.log(Object.keys(cussPt).length) // 173\n\nconsole.log(cuss.beaver) // 0\nconsole.log(cuss.asshat) // 2\n\nconsole.log(cussPt.burro) // 1\nconsole.log(cussPt.bixa) // 2\n```\n\n## API\n\n`cuss` exports the following entries:\n\n*   `cuss`\n    — English\n*   `cuss/ar-latn`\n    — Arabic (Latin)\n*   `cuss/es`\n    — Spanish\n*   `cuss/fr`\n    — French\n*   `cuss/it`\n    — Italian\n*   `cuss/pt`\n    — Portuguese\n*   `cuss/pt-pt`\n    — European Portuguese\n\nEach entry exports the identifier `cuss`.\nThere are no default exports.\n\n### `cuss`\n\nMap of offensive words to a sureness rating (`Record\u003cstring, number\u003e`).\n\nEach rating is a number between `0` and `2` (both including), representing the\ncertainty the key is used as a profanity depending on context.\n\n| Rating | Use as a profanity | Use in clean text | Example |\n| ------ | ------------------ | ----------------- | ------- |\n| 2      | likely             | unlikely          | asshat  |\n| 1      | maybe              | maybe             | addict  |\n| 0      | unlikely           | likely            | beaver  |\n\n## Data\n\n*   [`cuss`](index.js)\n    — ± 1770 English profane words and phrases from\n    [Luis von Ahn’s Research Group (Carnegie Mellon)][luis-von-ahn], the\n    [`List of ethnic slurs` from WikiPedia][racial-slurs], and many\n    contributions since)\n*   [`cuss/ar-latn`](ar-latn.js)\n    — ± 250 Arabic (Latin) profane words and phrases from\n    [`naughty-words`][ar-source-naughty-words] and\n    [`youswear`][ar-source-youswear]\n*   [`cuss/es`](es.js)\n    — ± 650 Spanish profane words and phrases from\n    [`naughty-words`][es-source-naughty-words],\n    [`revistagq.com`][es-source-revistagq], [`taringa.net`][es-source-taringa],\n    [`mundoxat.om`][es-source-mundoxat]\n*   [`cuss/fr`](fr.js)\n    — ± 740 French profane words and phrases from\n    [`wiktionary.org`][fr-source]\n*   [`cuss/it`](it.js)\n    — ± 800 Italian profane words and phrases from\n    [Italian profanity][it-source] (WikiPedia);\n    [Italian slang][it-source-wiktionary-slang]\n    [Italian offensive terms][it-source-wiktionary-offensive]\n    [Italian dialectal terms][it-source-wiktionary-dialectal]\n    [Italian jocular terms][it-source-wiktionary-jocularterms]\n    (Wiktionary);\n    [Parole oscene][it-source-treccani-paroleoscene] (Treccani);\n    and [`chucknorris-io/swear-words`][it-source-swear-words]\n*   [`cuss/pt`](pt.js)\n    — ± 148 Portuguese profane words from\n    [`aprenderpalavras.com`][pt-source]\n*   [`cuss/pt-pt`](pt-pt.js)\n    — ± 45 Portuguese (European) profane words from\n    [`wikipedia`][pt-pt-source] and common culture\n\n## Types\n\nThis package is fully typed with [TypeScript][].\nIt exports no additional types.\n\n## Compatibility\n\nThis package is at least compatible with all maintained versions of Node.js.\nAs of now, that is Node.js 14.14+ and 16.0+.\nIt also works in Deno and modern browsers.\n\n## Related\n\n*   [`buzzwords`](https://github.com/words/buzzwords)\n    — list of buzzwords\n*   [`dale-chall`](https://github.com/words/dale-chall)\n    — list of familiar American-English words (1995)\n*   [`fillers`](https://github.com/words/fillers)\n    — list of filler words\n*   [`hedges`](https://github.com/words/hedges)\n    — list of hedge words\n*   [`profanities`][profanities]\n    — list of the same profane words, but without the sureness\n*   [`spache`](https://github.com/words/spache)\n    — list of simple American-English words (1974)\n*   [`weasels`](https://github.com/words/weasels)\n    — list of weasel words\n\n## Contributing\n\nYes please!\nSee [How to Contribute to Open Source][contribute].\n\nNew terms can be added to the corresponding files as listed in the support\nsection.\n\nTo add a new language, create a new JS file with a [BCP 47][bcp47-spec] language\ntag as its name (lower case, dashes, and\n[preferred and normalized](https://github.com/wooorm/bcp-47-normalize)).\n\nAfter changing something, run `npm install` to install all required\ndependencies, then `npm test` to update: the project includes some scripts to\nmake sure everything is in order.\nNote that the tests require Node.js 18.0+.\nFinally, open a pull request.\n\n## Security\n\nThis package is safe.\n\n## License\n\n[MIT][license] © [Titus Wormer][author]\n\n\u003c!-- Definitions --\u003e\n\n[build-badge]: https://github.com/words/cuss/workflows/main/badge.svg\n\n[build]: https://github.com/words/cuss/actions\n\n[coverage-badge]: https://img.shields.io/codecov/c/github/words/cuss.svg\n\n[coverage]: https://codecov.io/github/words/cuss\n\n[downloads-badge]: https://img.shields.io/npm/dm/cuss.svg\n\n[downloads]: https://www.npmjs.com/package/cuss\n\n[size-badge]: https://img.shields.io/bundlephobia/minzip/cuss.svg\n\n[size]: https://bundlephobia.com/result?p=cuss\n\n[npm]: https://docs.npmjs.com/cli/install\n\n[esm]: https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c\n\n[esmsh]: https://esm.sh\n\n[typescript]: https://www.typescriptlang.org\n\n[contribute]: https://opensource.guide/how-to-contribute/\n\n[license]: license\n\n[author]: https://wooorm.com\n\n[profanities]: https://github.com/words/profanities\n\n[fr-source]: https://fr.wiktionary.org/wiki/Cat%C3%A9gorie:Insultes_en_fran%C3%A7ais\n\n[ar-source-naughty-words]: https://github.com/LDNOOBW/List-of-Dirty-Naughty-Obscene-and-Otherwise-Bad-Words/blob/master/ar\n\n[ar-source-youswear]: https://www.youswear.com/index.asp?language=Arabic\n\n[es-source-taringa]: https://www.taringa.net/posts/info/7253513/Listado-de-vulgarismos-y-malas-palabras-en-espanol.htm\n\n[es-source-mundoxat]: https://www.mundoxat.com/foro/showthread.php?301-Lista-de-palabras-MALAS-Necesito-AYUDA%21\n\n[es-source-naughty-words]: https://github.com/LDNOOBW/List-of-Dirty-Naughty-Obscene-and-Otherwise-Bad-Words/blob/master/es\n\n[es-source-revistagq]: https://www.revistagq.com/la-buena-vida/articulos/221-insultos-en-castellano-que-deberias-saber/19728\n\n[it-source]: https://en.wikipedia.org/wiki/Italian_profanity\n\n[it-source-wiktionary-slang]: https://en.wiktionary.org/wiki/Category:Italian_slang\n\n[it-source-wiktionary-offensive]: https://en.wiktionary.org/wiki/Category:Italian_offensive_terms\n\n[it-source-wiktionary-dialectal]: https://en.wiktionary.org/wiki/Category:Italian_dialectal_terms\n\n[it-source-wiktionary-jocularterms]: https://en.wiktionary.org/wiki/Category:Italian_jocular_terms\n\n[it-source-treccani-paroleoscene]: http://www.treccani.it/enciclopedia/parole-oscene_\\(Enciclopedia-dell'Italiano\\)/\n\n[it-source-swear-words]: https://github.com/chucknorris-io/swear-words/blob/master/it\n\n[pt-source]: https://aprenderpalavras.com/lista-de-palavroes-xingamentos-e-girias/\n\n[luis-von-ahn]: https://www.cs.cmu.edu/~biglou/resources/\n\n[racial-slurs]: https://en.wikipedia.org/wiki/List_of_ethnic_slurs\n\n[bcp47-spec]: https://tools.ietf.org/html/bcp47\n\n[pt-pt-source]: https://pt.wikipedia.org/wiki/Palavr%C3%B5es_na_l%C3%ADngua_portuguesa\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwords%2Fcuss","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwords%2Fcuss","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwords%2Fcuss/lists"}