Ceviche is raw fish "cooked" by acid, not heat
Ceviche works because citrus acid denatures the proteins in raw fish the same way heat does — the flesh turns opaque and firm, and the texture becomes flaky. The fish is never heated. Instead, you cut it into bite-sized pieces, salt it, and submerge it in fresh citrus juice (usually lime or lemon) for 15 to 45 minutes, depending on the thickness of your pieces and how firm you want the result. The acid firms the outside first, so timing matters: too short and the center stays mushy; too long and the whole piece becomes rubbery.
The quality of your fish determines everything. You need fish so fresh it has no smell beyond the ocean — ideally caught the same day or frozen immediately after catch and thawed in the refrigerator. Ceviche does not mask old fish; it highlights it. Firm white fish works best: halibut, sea bass, snapper, flounder, or cod. Oily fish like mackerel or salmon can work but taste stronger. Ask your fishmonger whether the fish is safe to eat raw, and if you are uncertain, freeze it at 0°F for seven days first — this kills parasites that might be present.
Key Takeaways
- Use fish so fresh it smells only of the ocean, or freeze it at 0°F for seven days before using it raw.
- Cut the fish into uniform bite-sized pieces so the acid reaches all surfaces at the same rate.
- Salt the fish before adding acid — this draws out moisture and helps the acid work more evenly.
- Start checking the fish at 15 minutes; most pieces are ready between 20 and 30 minutes, and over-marinating makes the texture mushy and then rubbery.
- Drain the ceviche before serving and add fresh citrus juice and aromatics just before plating so the fish does not continue cooking.
Cutting and preparing the fish
Slice your fish against the grain into pieces roughly the size of a large grape or small marble — about half an inch across. Uniform size matters because thin pieces will be done while thick ones are still raw in the center. If your fish has any dark bloodline running through it, trim that out; it has a strong, unpleasant taste that acid will not soften.
Pat the fish dry with paper towels before cutting. Excess moisture dilutes the acid and slows the cooking process. Use a very sharp knife — a dull blade crushes the flesh instead of cutting it cleanly, and crushed fish releases more liquid and becomes mushy. A long, thin-bladed knife works better than a chef's knife for this work.
Salt, acid, and timing
Place your cut fish in a bowl and sprinkle it with salt — about one teaspoon per pound of fish. Toss gently to coat every piece. Let it sit for two to three minutes. This draws out some of the fish's own liquid, which mixes with the salt to create a brine. This brine is what actually denatures the proteins; the citrus acid alone works more slowly.
Pour fresh citrus juice over the salted fish until it is just covered. Use juice you have squeezed yourself, not bottled juice from concentrate — the flavor is cleaner and the acid is stronger. Lime is traditional and most common; lemon works too, and some regions use a mix of both. Stir gently once or twice to make sure all pieces are submerged.
Start checking the fish at 15 minutes. Press a piece gently with a fork — when it flakes easily and is opaque all the way through, it is done. Most pieces are ready between 20 and 30 minutes. If you leave it longer than 45 minutes, the texture begins to break down and become stringy. Once the fish reaches the firmness you want, drain it immediately in a fine-mesh strainer. Do not leave it sitting in the juice.
Building flavor with aromatics and secondary ingredients
The drained fish is your base. Now add the elements that make ceviche distinctive: fresh cilantro, diced red onion, diced tomato, diced avocado, and a small amount of fresh citrus juice mixed with a little good olive oil. Add these just before serving, not hours ahead. If you mix everything together and let it sit, the onion will turn the fish pink, the avocado will brown, and the fish will continue to firm up in the residual acid on its surface.
Red onion can be sharp and raw-tasting. If you prefer it milder, dice it and soak it in ice water for five minutes, then drain it well before adding it to the ceviche. Some cooks add a pinch of cumin or a small diced hot pepper for depth. Corn kernels, black beans, or cucumber are common additions too. The point is balance: you want to taste the fish first, and the other ingredients should support it, not bury it.
Serving and storage
Ceviche is best served cold, in a chilled bowl, within an hour of assembly. Spoon it into small bowls or glasses and serve with crispy tortilla chips, plantain chips, or toasted bread. A few leaves of fresh cilantro on top and a lime wedge on the side are traditional finishes.
Ceviche does not keep well. The fish continues to firm up even after you drain it, and the flavors flatten after a few hours. If you have leftovers, eat them the same day. Do not try to store ceviche overnight — the texture will be unpleasant and the taste will have faded. It is better to make only what you plan to serve.
Common mistakes and how to avoid them
The most common error is using fish that is not fresh enough. If the fish smells fishy or ammonia-like before you cut it, do not use it. The second mistake is cutting pieces in different sizes — thin pieces will be rubbery while thick ones are still raw. The third is leaving the fish in the acid too long. Set a timer and check at 15 minutes; do not guess.
Another frequent problem is adding all the ingredients at once and letting them sit. The onion bleeds color, the avocado oxidizes, and the fish keeps cooking. Assemble the ceviche just before you serve it. If you are cooking for a group and need to prepare ahead, keep the drained fish, the citrus juice, and the other ingredients separate in the refrigerator, then combine them five minutes before plating.
Regional variations and ingredient swaps
Peruvian ceviche, the most common style, uses lime juice, red onion, cilantro, and often a touch of ají (hot pepper). Ecuadorian ceviche often includes tomato and is sometimes served with popcorn or plantain chips on the side. Mexican ceviche may include avocado and is typically served in a glass with a spoon. Japanese-style ceviche uses yuzu or sudachi instead of lime and adds soy sauce and sesame oil.
If you cannot find the exact fish your recipe calls for, choose another firm white fish with similar texture. Halibut and sea bass are nearly interchangeable; flounder and sole work similarly. The cooking time may shift slightly depending on how thick you cut the pieces, so watch the fish rather than following the clock exactly. If you are using a fish you have never tried raw before, cut a small piece and taste it first to make sure you like the flavor.
Frequently Asked Questions
Can I use frozen fish for ceviche?
Yes, if it was frozen immediately after catch. Thaw it in the refrigerator overnight, never at room temperature. Freezing at 0°F for seven days also kills parasites that might be present in raw fish. Once thawed, use it the same day.
What if my ceviche tastes too salty?
You salted too heavily at the start. Next time, use about three-quarters of a teaspoon per pound instead of a full teaspoon. If your current batch is too salty, you can rinse the drained fish gently under cold water and pat it dry, then add fresh citrus juice and other ingredients. The flavor will be less concentrated but still good.
How do I know when the fish is done cooking?
The flesh should be opaque all the way through and flake easily when you press it with a fork. The center should not look translucent or glassy. If you cut a piece open and see any raw-looking flesh in the middle, it needs more time. Most pieces are done between 20 and 30 minutes.
Can I make ceviche with cooked fish?
Technically yes, but it is not traditional ceviche. Cooked fish will not have the same delicate texture. If you want to serve something similar but are uncomfortable with raw fish, poach or steam the fish first, then chill it and dress it with the same citrus, onion, cilantro, and other ingredients.
What citrus juice works best?
Fresh lime juice is traditional and most common. Lemon works too and is slightly less acidic, so you may need a few extra minutes. Bottled juice from concentrate is weaker and less flavorful. Squeeze your own juice just before you use it — juice that has been sitting for hours loses strength.