Fish are a family of single-digit Sudoku techniques built from the same counting principle.
Choose one candidate digit. Then identify:
- N base sets that must contain N placements of that digit;
- N cover sets that contain every source candidate from those bases.
When that structure is valid, candidates for the Fish digit can be removed from the cover sets where they are not part of the Fish's required source structure.
The familiar names are simply Fish of different sizes:
size 2 → X-Wing
size 3 → Swordfish
size 4 → JellyfishFinned, Sashimi, Franken, and Mutant Fish keep the same underlying set logic while changing where the candidates or houses are allowed to appear.
Fish are single-digit patterns
A Fish considers one digit at a time.
If you are looking for a Fish on candidate 7, ignore every candidate except 7 while identifying the pattern.
That is different from:
- subsets, which reserve several digits inside one house;
- Wings, which use small multi-digit candidate sets;
- general Chains, which can move between different digits and inference types.
A Fish is fundamentally about the distribution of one digit across houses.
The core Fish vocabulary
Understanding four terms makes every Fish name easier.
Fish digit
The one candidate digit being studied.
Base sets
The houses you start from.
In a Basic Fish these are normally all rows or all columns.
Each base must eventually contain one placement of the Fish digit.
Cover sets
An equal number of houses that cover every source candidate in the bases.
In a Basic row-based Fish, the covers are columns. In a column-based Fish, the covers are rows.
Base candidates
The candidate occurrences for the Fish digit that lie in the chosen base sets and form the source structure.
Once every base candidate is contained by the N covers, the Fish can constrain other candidates in those covers.
The N-base / N-cover rule
The general Basic Fish relationship is:
N base sets are completely covered by N cover sets.
Why does that matter?
Each base house must contain the Fish digit exactly once.
So N bases require N placements of that digit.
If all possible source placements for those bases lie inside only N cover houses, those cover houses must accommodate those same N placements.
There is no capacity for an additional placement of that digit in the cover sets outside the Fish sources.
Those outside cover candidates can therefore be eliminated.
This is a counting argument, not a visual rectangle rule.
A generic Fish example
Fish size names
Fish names are mostly shorthand for the number of base and cover sets.
| Size | Common name | Basic structure |
|---|---|---|
| 2 | X-Wing | 2 bases / 2 covers |
| 3 | Swordfish | 3 bases / 3 covers |
| 4 | Jellyfish | 4 bases / 4 covers |
Larger Fish names exist, but they rapidly become cumbersome for manual solving and are far less important than understanding the general rule.
The scalable model is more useful than memorizing a zoological list.
X-Wing: size 2 Fish
An X-Wing is the smallest standard Basic Fish.
For a row-based X-Wing:
- choose two rows as bases;
- every candidate for digit X in those rows lies in the same two columns;
- those two columns are the covers;
- remove X from other cells in the two cover columns.
The classic rectangular picture is a consequence of the size-2 structure.
It is not the definition of Fish in general.
Swordfish: size 3 Fish
A Swordfish uses three bases and three covers.
The source candidates do not need to form three identical pairs.
For example, row candidate positions could be distributed as:
r2 → c1/c5
r5 → c1/c8
r8 → c5/c8All candidates in the three base rows are contained inside c1/c5/c8.
Those three columns therefore cover the three required placements, allowing eliminations elsewhere in the covers.
This is why a Swordfish often looks much less symmetrical than an X-Wing.
Jellyfish: size 4 Fish
A Jellyfish extends the same rule to four bases and four covers.
Nothing new happens logically:
X-Wing = 2 / 2
Swordfish = 3 / 3
Jellyfish = 4 / 4What becomes harder is recognition.
There are more possible houses to combine, more source candidates to inspect, and more opportunities to mistake a near-Fish for a valid one.
Row-based vs column-based Fish
Every Basic Fish has a transposed orientation.
Row-based Fish
- bases = rows;
- covers = columns.
Column-based Fish
- bases = columns;
- covers = rows.
You should learn to search both ways.
A solver who only recognizes row-based patterns will miss half the ordinary orientations.
Why Fish do not require identical candidate counts in every base
A common beginner misconception is that every base row must contain exactly N candidates.
That is not the general rule.
For a size-N Fish, the important condition is that all base candidates are contained within N cover sets.
A Swordfish base may contain two or three relevant candidates. A Jellyfish base may have an irregular distribution as long as the complete source structure still fits inside the required covers.
The counting proof uses houses and coverage, not equal-looking rows.
Productive vs nonproductive Fish
A valid Fish is only useful when there is something to eliminate.
Suppose you identify a correct X-Wing but there are no other candidates for the Fish digit in either cover column.
The structure is real, but it produces no immediate progress.
This distinction matters when practicing recognition:
- valid Fish: the set relationship is correct;
- productive Fish: at least one elimination follows.
Do not change the definition just because a pattern has no target.
What are fins?
A fin is a source candidate that lies outside the intended cover sets of an otherwise useful Fish structure.
That extra candidate prevents the broad eliminations of a Basic Fish.
However, a smaller set of targets may remain eliminable if they are false in both possibilities:
- the fin is false and the underlying Fish applies;
- the fin is true and the target sees the fin.
That is the basis of Finned Fish.
G-031 uses Finned X-Wing as the smallest practical introduction to this logic.
What does Sashimi mean?
Sashimi Fish are closely related to Finned Fish, but after the fin candidates are removed the remaining Fish structure is incomplete or degenerate rather than a complete Basic Fish.
Different Sudoku communities sometimes draw the boundary between “finned” and “sashimi” slightly differently.
For correctness, the important question is not the label. It is whether the proposed elimination is false under every valid branch of the Fish proof.
Basic, Finned, Franken, and Mutant Fish
The family can be organized by how freely bases and covers are chosen.
Basic Fish
Rows on one side and columns on the other.
Examples:
- X-Wing;
- Swordfish;
- Jellyfish.
Finned / Sashimi Fish
A near-Basic Fish contains one or more extra source candidates outside the intended covers, restricting the valid elimination region.
Franken Fish
At least one box is used among the base or cover sets.
The same N-base / N-cover counting logic remains in force.
Mutant Fish
Rows, columns, and boxes can be mixed more freely on both sides.
These structures are much harder to find manually and belong to the expert end of Fish solving.
Endo fins and cannibalism
Advanced Fish terminology includes additional cases such as endo fins and cannibalistic eliminations.
They matter when a Fish's set relationships overlap in more complicated ways.
They are not prerequisites for learning ordinary Fish.
A good progression is:
- understand Basic X-Wing;
- scale to Swordfish and Jellyfish;
- learn Finned/Sashimi logic;
- only then study complex Fish structures if your puzzles require them.
Fish vs Turbot Fish
The names are misleadingly similar.
A Turbot Fish is not a Fish in the base-set / cover-set sense used on this page.
Turbot Fish is a short single-digit X-Chain — traditionally an X-Chain of four candidates — and recognizable patterns such as Skyscraper, Two-String Kite, and some Empty Rectangles can be viewed through that chain framework.
So:
- X-Wing/Swordfish/Jellyfish: set-based Fish family;
- Turbot Fish: short chain terminology.
Keeping that distinction prevents a lot of confusion when advanced Sudoku sources use both names.
Fish vs X-Chain
Both can analyze one candidate digit across the grid, but the proof language is different.
Fish
Use equal numbers of base and cover sets to constrain placements.
X-Chain
Follow alternating Strong and Weak Links between candidates of one digit.
Some eliminations can be represented in more than one framework, especially in advanced patterns. That does not mean the methods are identical.
Use the representation that makes the proof easiest to verify.
How to search for Basic Fish manually
1. Choose one digit
Fish search is digit-first.
2. Find sparse rows or columns
Houses with only a few candidates for that digit are the easiest bases to inspect.
3. Combine possible bases
For X-Wing, try pairs of houses. For Swordfish, triples. For Jellyfish, sets of four.
4. Count the cover houses
Merge the candidate positions across the chosen bases.
If N bases fit entirely inside N covers, inspect the structure carefully.
5. Find outside candidates in the covers
Those are the possible elimination targets for a Basic Fish.
6. Re-scan after the elimination
Fish frequently create a simpler deduction rather than another Fish.
Return to Singles, Locked Candidates, and subsets before continuing the advanced search.
Common Fish mistakes
Mistake 1: searching several digits at once
A standard Fish follows one candidate digit only.
Mistake 2: counting source cells instead of base and cover sets
Fish size refers to the number of base/cover houses, not necessarily to the total number of highlighted candidates.
Mistake 3: requiring a perfect rectangle
Only X-Wing usually produces the familiar rectangle. Larger Fish can have irregular candidate distributions.
Mistake 4: ignoring an extra source candidate
If a proposed Basic Fish has a candidate outside the covers, the ordinary Basic Fish eliminations are not valid. You may instead have a Finned/Sashimi pattern.
Mistake 5: eliminating inside the wrong houses
For a Basic Fish, eliminations occur from cover candidates that are not required source candidates of the Fish.
Mistake 6: assuming every named “fish” uses Fish-set logic
Turbot Fish is the classic exception: it is chain terminology.
FAQ
What is the easiest Fish technique in Sudoku?
X-Wing is the smallest standard Basic Fish and is normally the best place to start.
Is Swordfish just a bigger X-Wing?
Yes at the level of the general proof: X-Wing uses 2 bases/2 covers, while Swordfish uses 3/3. Recognition becomes less geometric as size increases.
What comes after Swordfish?
Jellyfish is the standard size-4 Basic Fish. Finned and Sashimi variants add a different type of complexity rather than simply increasing size.
Does a Fish need exactly two candidates in every row?
No. The general condition is that all source candidates in N base sets are covered by N cover sets. Exact candidate counts per base depend on the Fish size and distribution.
Are Franken and Mutant Fish necessary for most Sudoku puzzles?
No. They are advanced extensions and are much less important for ordinary human solving than X-Wing, Swordfish, Jellyfish, and simpler finned patterns.
Is Turbot Fish really a Fish?
Not in the base/cover-set sense. Turbot Fish is a short X-Chain name and is best understood with single-digit chain logic.
What to learn next
If you are new to Fish, start with X-Wing, then Swordfish, then Jellyfish. After those are comfortable, study Finned X-Wing to see how fins restrict an otherwise clean Fish elimination.