Updated Jul 14, 2026

Utilities

Build a target-specific wordlist from site text

Spider a URL and return a wordlist for password crackers.

Agent

overview

What cewl does

CeWL spiders a URL to a set depth and emits words found on the pages as a cracking wordlist. Product names, jargon, and employee terms beat a generic dictionary for one organization.

Set -d for crawl depth, --min_word_length to drop short tokens, --email and --meta for addresses and document authors, and leave --offsite off unless you mean to leave the host.

Run early to seed a target-specific list, then pass it to a cracker or fuzzer. For endpoints instead of words, use katana. Trickest runs CeWL as a managed node with file and folder output.

source github.com/digininja/CeWL

use cases

Where cewl fits

Build a target-specific password wordlist

Spider a company site to harvest its own terminology, then feed the list to a cracker so guesses match the words employees reuse in passwords.

Harvest emails and metadata while crawling

Enable --email and --meta to pull addresses and document author data alongside the wordlist, useful for OSINT and username generation.

Crawl authenticated pages

Supply basic or digest credentials so CeWL reaches words on pages behind a login, where the richer internal vocabulary tends to live.

Seed a fuzzing stage with real words

Pass the generated wordlist into a content or parameter fuzzer so brute-force guesses draw on terms the target itself exposes.

reference

cewl inputs and flags

25 inputs
NameTypeFlagDescription
urlSTRING·The site to spider (passed as the positional target URL).
depthSTRING-dDepth to spider to (default 2).
min-word-lengthSTRING--min_word_lengthMinimum word length to keep (default 3).
countBOOLEAN--countShow the count for each word found.
with-numbersBOOLEAN--with-numbersAccept words containing numbers, not only letters.
emailBOOLEAN--emailInclude email addresses found while crawling.
metaBOOLEAN--metaInclude document metadata in the results.
offsiteBOOLEAN--offsiteLet the spider visit sites beyond the target.

Showing key inputs. cewl exposes 25 inputs in total.

Full flag reference (25 inputs)
NameTypeFlagDescription
urlSTRING·The site to spider (passed as the positional target URL).
depthSTRING-dDepth to spider to (default 2).
min-word-lengthSTRING--min_word_lengthMinimum word length to keep (default 3).
max-word-lengthSTRING--max_word_lengthMaximum word length (default unset).
countBOOLEAN--countShow the count for each word found.
with-numbersBOOLEAN--with-numbersAccept words containing numbers, not only letters.
lowercaseBOOLEAN--lowercaseLowercase all parsed words.
groupsBOOLEAN--groupsReturn groups of words as well as single words.
emailBOOLEAN--emailInclude email addresses found while crawling.
metaBOOLEAN--metaInclude document metadata in the results.
offsiteBOOLEAN--offsiteLet the spider visit sites beyond the target.
allowedSTRING--allowedRegex pattern a path must match to be followed.
excludeFILE--excludeFile listing paths to exclude from the crawl.
headerSTRING--headerExtra header in name:value form; can be passed multiple times.
user-agentSTRING--uaUser agent string to send with requests.
auth-typeSTRING--auth_typeAuthentication type: digest or basic.
auth-userSTRING--auth_userAuthentication username for pages behind a login.
auth-passSTRING--auth_passAuthentication password.
proxy-hostSTRING--proxy_hostProxy host to route requests through.
proxy-portSTRING--proxy_portProxy port (default 8080).
proxy-usernameSTRING--proxy_usernameUsername for the proxy, if required.
proxy-passwordSTRING--proxy_passwordPassword for the proxy, if required.
convert-umlautsBOOLEAN--convert-umlautsConvert common Latin-1 umlauts (ä to ae, ö to oe, ü to ue, ß to ss).
verboseBOOLEAN--verboseVerbose output.
debugBOOLEAN--debugPrint extra debug information.

example

Run cewl

cewl · command
# spider example.com to depth 2, keep words 5+ chars, show counts, allow digitscewl -d 2 --min_word_length 5 --count --with-numbers https://example.com > wordlist.txt
sample output
example, 318security, 205platform, 154research, 132engineering, 118automation, 96credentials, 74workflow, 61onboarding, 47

guidance

Choosing cewl

Reach for CeWL when a target's own vocabulary will beat a generic dictionary, such as cracking credentials at one organization. Skip it for a static reusable wordlist with nothing to crawl. For links and endpoints rather than raw words, use katana.

katana

Crawls for endpoints and links, not words. Use it to map an app; use CeWL to harvest vocabulary.

gospider

Fast web spider for URLs. CeWL is purpose-built to emit a wordlist for cracking.

clean-wordlist

Cleans and normalizes a list. Run it after CeWL to tidy the harvested words.

faq

cewl questions

Bound the crawl with -d and stay on-site by leaving --offsite off, then raise --min_word_length to drop short, low-value tokens. Add --with-numbers when the target mixes digits into terms, and --count to rank words by frequency.

Run cewl yourself

A target URL feeds CeWL, which spiders the site, collects its words, and writes a target-specific wordlist ready for cracking or fuzzing.

Facts on this page come from the live Trickest tool library.