Documentation

The complete manual

Every screen, every setting and every tool in PWF Checker — what it does, what it expects, and what changing it costs you.

Getting started

From download to your first filtered batch.

System requirements

  • Windows 10 or 11, 64-bit.
  • .NET Framework 4.8.1.
  • 4 GB RAM minimum, 8 GB recommended once image analysis is running.
  • 2 GB free disk space — results, avatars and logs all grow with use.
  • A stable internet connection.

Install and activate

  • Download the installer from the Download page and run it.
  • Create an account here on the site and choose a plan — your licence key is attached to that account.
  • Open the app, go to License Key in the sidebar, and paste the key.
  • Import at least one channel before you can filter anything.
Every plan unlocks the same application with every feature and every tool. The only difference between plans is how long the licence stays valid.

The interface

One window, a left sidebar, and a work area that swaps with it.

The sidebar groups everything into four blocks. The number badge beside a group is a live count — rows in the workspace, imported channels, queued images.

Workspace checker · export · channels
The checker grid itself, the Export Data page, and the Channels list. This is where a normal run happens.
Image Analysis
A separate dataset: a folder of local image files analysed with the same workers, kept apart from number results.
Tools 10 utilities
Generation and list-cleaning tools that never touch your channels. Covered in The toolbox.
Quick Checker
A lighter, standalone checker with its own database and its own settings. See Quick Checker.
Configuration App Settings
Interface preferences, visible table columns, default filters and sort order.
Diagnostics Logs · License Key
The runtime log viewer and your licence status.

Theme and language

The controls at the bottom of the sidebar switch between the dark and light themes and open display preferences. The language selector sits in the title bar — five interface languages ship with the app, and switching is instant and does not interrupt a run.

Channels

A channel is one WhatsApp account the app filters through. No channels, no run.

Import format

Channels come from a .txt or .csv file, one account per line. Fields are separated by a comma or a semicolon:

  • Number — required.
  • Hash — required, Base64. A line whose hash fails to decode is skipped.
  • Private key — optional, Base64.
  • Proxy — optional; overrides the round-robin pool for this account.

Re-importing a number you already have updates it in place rather than creating a duplicate, so a file with refreshed hashes is safe to import over the old one.

Channel type

Each import is tagged Personal or Business. The default for new imports is set by the Personal accounts switch in Filter settings.

Health and bans

  • Test All logs into every channel and reports which ones still work.
  • A channel that comes back banned is parked for 24 hours and skipped by the next run.
  • A channel that keeps disconnecting is parked for 1 hour as a chronic-disconnect case.
  • Right-click a channel to clear its ban, mark it banned manually, or copy its number.
  • Delete Banned removes every parked channel in one action.
If every channel is parked, a run refuses to start and tells you so. Clear a ban or import fresh accounts — the app will not silently do nothing.

Running a filter

Load numbers, press Start, watch the counters.

The run

  • Select Numbers loads the list you want to check.
  • Start begins; the same button becomes Stop while a run is live.
  • Numbers are sent in batches through the channel pool. Each channel works, rests, and hands back to the pool.
  • Stopping is graceful — the current batch finishes and its results are kept.

The stat cards

Total
Numbers loaded into this workspace.
WhatsApp with Non-WA and Business
Confirmed registrations, split by account type.
Gender M / F
Rows the face worker has classified.
Avatars rate · no photo
Profile pictures downloaded, and how many accounts had none.
Pending DL / AI
Backlog — avatars still downloading, images still queued for analysis.
Filtered rate
How far through the loaded list the run has got.
Objects rate
Rows the object worker has tagged.
A run is resumable. Results are written to a local database as they arrive, so closing the app or losing power never costs you the batches already finished.

Filter settings

Found under Channels → Filter Settings. These decide how hard you push, and how likely you are to get banned.

Filtering

Batch Min / Batch Max numbers per batch
Lower and upper bound for one batch. The app picks a random size in this range for every batch — a constant size is an obvious pattern. Set both to the same value to disable the jitter.
Run Mode Parallel / Sequential
Parallel works several channels at once and is much faster. Sequential uses one at a time and is gentler.
Threads 0 = unlimited
How many channels may filter simultaneously in Parallel mode. 0 means one thread per channel. More threads is faster and more conspicuous.
Remove dead channel on / off
Drops a channel from the pool as soon as it stops responding, instead of retrying it all run.

Anti-Ban

These exist to make traffic look human. Loosening them raises throughput and raises ban risk in the same step.

Enable rest cycles on / off
Master switch for the two settings below.
Rest after numbers
How many numbers a channel handles before it takes a break.
Rest duration seconds
How long that break lasts. The channel returns to the pool afterwards.
Filter Interval milliseconds
Fixed delay after each batch. Minimum 500 — smaller is faster and less safe. The app adds a random ±50% jitter on top, and stretches the delay automatically when a channel starts responding slowly.
Channel cooldown seconds · Parallel only
Rest each channel this long after its batch before reusing it. 0 turns it off.
The app already penalises a channel automatically when its responses slow down — a sign of soft rate-limiting — and eases off again once it recovers. Fighting that with an aggressive Filter Interval is the fastest way to lose accounts.

Network

Use SOCKS5 proxy round-robin
Assigns proxies from the loaded pool to channels in turn. A channel with its own proxy in the import file keeps that one.
Loaded proxies Load
Reads a proxy list. Accepts host:port and host:port:user:pass; anything with an invalid port is discarded silently.
Avatar download speed parallel downloads
How many profile pictures download at once. Applies instantly, even mid-run.
Sync Avatar Download on / off
Pauses filtering automatically when the avatar backlog gets high, so downloads can catch up. Leave this on unless you have a reason not to.

Account

Personal accounts default type
The channel type applied to new imports.
Enable logs on / off
Writes the runtime log. Keep it on — it is the only record of what happened when a run misbehaves.

Image analysis

Turning downloaded avatars into something you can segment by.

Every profile picture the app downloads can be passed through two independent workers. They run behind the filter, so analysis never blocks the checking itself.

Face worker gender · age · faces
Infers a gender, an age band and how many faces are in the picture. A photo it cannot read comes back Unknown — which is a final answer, not a queue state.
Object worker image content
Tags what is in the picture — a car, flowers, a cat, a dog. These tags become filter chips above the results table and drive the Export by Object card.
An empty gender cell means the row has not been analysed yet. An explicit Unknown tag means it was analysed and the model could not tell. The distinction matters when you are deciding what still needs re-analysis.

The Image Analysis section

Separate from the checker: point it at a folder of local image files and it runs the same two workers over them. Those rows carry a different source marker and are deliberately excluded from every number export, so the two datasets never contaminate each other.

The results table

Everything the run has learned, one row per number.

Columns

Number
The checked number.
Avatar clickable
The profile picture. Click it to open the profile details panel.
Gender Male / Female / Unknown / —
From the face worker. An em dash means "not analysed yet".
Age
Estimated age. Blank until the face worker has run.
Faces
How many faces were detected in the picture.
Objects
Content tags from the object worker.
Country flag + name
Derived from the dialling prefix.
Carrier network operator
The network operator, resolved by matching the longest known prefix against a table of 28,739 carrier prefixes across 207 countries.
Type Personal / Business
The WhatsApp account type.
Status
Row state, plus small icons showing which analysis passes have completed.
Any column can be hidden from App Settings → Visible columns. Hiding a column only affects the display — it never changes what is stored or what gets exported.

Filter chips

The chip row above the table narrows the view instantly: All, Avatar, Male, Female, Business, 50+ M, 50+ F, plus one chip per detected object tag. Each chip carries its own count, so you can see the shape of a run without exporting anything.

Profile details

Clicking an avatar — or right-clicking a row and choosing View Profile — opens a panel with the number, country, dialling code, carrier, line type, international format, validity, and every analysis result for that row.

Right-click menu

  • Copy number and Copy avatar URL.
  • Open image in the system viewer.
  • View profile — the same panel as clicking the avatar.
  • Select / deselect the row.
  • Delete row — removes it from the table and the database.

Exporting

Filter down to exactly the rows you want, then write them out.

The Matching rows counter updates live as you change any filter, so you always know how big the output will be before you commit to it.

Filters

Type
WhatsApp, With photo, No photo, Business, Unknown gender, Non-WhatsApp, or Not filtered (numbers still queued).
Gender Male / Female / Both
Requires the face worker to have run.
Age range from · to
Leave at zero for any age.
Faces count blank = any
Exact number of faces in the picture.
Country All + detected
Built from the countries actually present in your results.
Carrier All + detected
Network operator. The list is built from the operators actually present in your results, so it only ever offers you choices that will return rows.
Add "+" prefix on / off
Writes numbers in + international form.

Output

Text (.txt)
One number per line. The plainest possible list.
CSV (.csv)
Number plus the analysis columns, Excel-compatible.
vCard (.vcf)
Contact cards, importable straight into a phone address book.
Excel (.xlsx)
A workbook with embedded avatar thumbnails. You choose which columns to include.
Images
Writes the downloaded avatars themselves, not a list.
Rows per file single = no split
Splits the output into fixed-size files automatically, with a name prefix you set.

Export by Object

A separate card for the object worker's output: pick a detected object — or leave it on Any detected object — and export just those rows, either as phone numbers or as the images themselves.

Filters combine. Country and Carrier and Type all apply at once, so "Business accounts on one specific operator in one country" is a single export, not three.

Quick Checker

A standalone checker with its own database, for when you do not need the full workspace.

Two ways to feed it

Start Number sequential
Give it a starting number and it generates a continuous range from there, checking as it goes. It stops when it has found your target number of WhatsApp accounts.
Load list .txt or .csv
Upload a file of numbers and it checks exactly those, finishing when the list runs out. Numbers are normalised (+, spaces, dashes and a leading 00 are stripped) and duplicates are removed on the way in. While a list is loaded the Start Number is not used.
In list mode the whole list is checked — the WhatsApp target does not cut the run short, because you asked for those specific numbers to be checked, not for the first N hits among them. The progress bar tracks the file, not the target.

Controls

  • Target WA Count — how many matches to find before stopping (sequential mode).
  • Threads, Batch, Login tries, Delay and the cool-down pair mirror the main Filter settings, with one-click presets for common trade-offs.
  • Resume picks a sequential session back up where it stopped.
  • Space starts or stops the run.

The toolbox

Ten utilities for building, inspecting and cleaning lists. None of them touch your channels or use a single account.

Generate

Sequential Generate
A continuous range from a starting number. Set a quantity or an end number, optionally shuffled, with a live size estimate before you commit.
Generate From File
Takes an existing list as the seed and expands it into new candidates while preserving its source prefixes.
Random Prefix Generate
Spreads generation across several prefixes at once, so the output is not one contiguous block.
Country Gen 207 countries
Pick a country and generate from its real operator prefixes — 28,739 carrier prefixes are built in.

Utilities

Prefix Helper
Look up any prefix and see the country, the operator and the expected line length before you generate against it.
File Merger
Combines any number of lists into one, with duplicate removal, empty-line stripping, trimming and optional shuffling applied across the whole merge. Analyze Overlap shows how much the files share before you commit.
Analyze Prefix
Breaks a list down by country, carrier and prefix with counts, percentages and a distribution chart — so you know what you are about to run.
Splitter
Cuts a large file into evenly sized parts by line count, with a custom name prefix, downloadable as a ZIP.
Remove Duplicates
Strips repeated entries with an exact count of what was removed.
Plus Formatter
Adds or removes the + sign across a whole file, and can strip leading zeros — for matching whatever format the next system expects.

Diagnostics

Logs

A live view of the runtime log, filterable by category, level and free text. When something goes wrong mid-run this is the record of what actually happened — export the filtered view and attach it when you contact support.

License Key

Shows your current plan, the key itself and its expiry date. Renewing adds the new term on top of whatever time you have left, so renewing early never costs you days.

Troubleshooting

The run will not start

  • No channels imported — the app says so explicitly.
  • Every channel is parked as banned. Right-click one and clear its ban, or import fresh accounts.
  • No numbers loaded, and in Quick Checker no start number and no list.

Channels keep getting banned

  • Raise Filter Interval and turn rest cycles on.
  • Lower Threads, or switch Run Mode to Sequential.
  • Give each channel its own proxy instead of sharing one exit address.
  • Keep Batch Min and Batch Max different so batch sizes stay irregular.

Avatars are not downloading

  • Check the Pending card — a large DL backlog means they are queued, not lost.
  • Raise Avatar download speed, and leave Sync Avatar Download on.
  • Some accounts genuinely have no photo; that count is shown under the Avatars card.

Gender or Objects stay empty

The analysis workers run behind the filter and finish after it. Watch the AI figure on the Pending card. An explicit Unknown means the model answered and could not tell — that row is done.

An export is empty or smaller than expected

Read the Matching rows counter before exporting — it reflects the exact filter combination you have set. A Gender or Age filter silently excludes every row the face worker has not reached yet.

When you pay by crypto, send on the network shown next to the address you copied. Sending on a different network loses the funds and cannot be recovered by anyone.

Still stuck?

If something here does not match what you are seeing, tell us — the manual is wrong until proven otherwise.

Contact support