Većina riba ima telo vretenastog oblika koje daje pri kretanju u vodi najmanje otpora. Zato se većina riba koje dobro plivaju, po obliku približavaju idealnoj formi vretena. Ali, ako je plivanje za pojedinu bez značaja, kao što je to slučaj kod riba koje žive pri dnu, telo tada postaje sve više spljošteno, a kad se ribe kreću između stena ili kroz guste spletove biljaka i mulj onda oblik njihovog tela postaje crvolik. Pored toga imamo i čitav niz neobičnih oblika kod riba, kao što je slučaj sa ribom „morski konjic“ koji uspravno pliva kroz vodu ili oblik „loptaste ribe“ koja zaista liči na loptu.
Posmatrajući živa bića, možemo lako zaključiti da postoji tesna povezanost između oblika tela i sredine u kojoj životinja živi .Mogli bismo kao opšte pravilo, samo sa malim izuzecima, navesti da velike ribe žive u vodama koje imaju, široko i veliko prostranstvo a da male vrste žive u manjim vodama, raznim rukavcima i potocima. Ribe koje love plen u blizini površine vode imaju, redovno, spljoštena leđa, a kod pojedinih su grudna peraja tako jako razvijena da pod naročitim okolnostima omogućuju i kratak let iznad površine vode. Kod ovih riba je i gubica tako udešena da na lak način hvataju insekte i druge Avertebrata sa površine vode.
Većina riba živi u srednjoj zoni vode. Kad posmatramo slatkovodne ribe, onda vidimo da imaju idealne oblike tela vrste koje žive u toku vodene struje, telo im je većinom vretenasto ili liči na torpedo, peraja nikad nisu preterano razvijena i ništa na telu ne postoji što bi davalo otpor vodi. Kao primer za ove ribe mogli bismo uzeti pastrmku (Salmo trutta L.). Ribe koje žive u mirnim slobodnim vodama redovno su izdužene više nego što su široke. Pojedina peraja su im često suviše jako razvijena. Kod riba koje ne žive u slobodnoj vodi, nego između vodenih biljaka, u gustišu rogoza ili trske, telo je većinom zdepasto i bočno spljošteno. Ovaj oblik je najčešće među slatkovodnim vrstama. Ribe koje žive blizini vodenog dna imaju više ili manje ravnu trbušnu liniju, usta su im više povučena na donju stranu a kod nekih vrsta su izdužena u surlicu, a oko njih se ponekad nalaze i brkovi. Kao najpoznatiji primeri ovih riba su Cyprinidae.
Kod riba koje leže na dnu, trbušna strana tela je pločasta ili je telo od gore nadole spljošteno a trbušna i grudna peraja služe ponekad za puzanje. Međutim, one ribe koje žive na samom dnu, imaju oblik crva a peraja su im različito preobražena. Stanovnici bara i močvara, koji nemaju dovoljno slobodne vode za disanje, imaju razne pomoćne organe koji im služe za uzimanje vazduha. Ima nekoliko vrsta koje mogu povremeno da izađu na kopno. A poneke vrste, koje žive u barama i močvarama, mogu za vreme suše da prespavaju letnji san. Ribe koje žive u pećinama imaju zakržljale oči, kod nekih su potpuno iščezle a kod mnogih je nestao i pigment iz ćelija kože. Mnoge dubinske vrste poseduju svetleće organe uz pomoć kojih privlače plen.
Sve ribe imaju peraja. Predstavljaju kožne nabore poduprete koštanim žbicama. Služe za pokretanje i održavanje delova tela. Razlikujemo neparna peraja, koja se produžuju duž tela, i parna peraja koja leže bočno. Parna peraja nalaze se većinom na grudima ili trbuhu i odgovaraju ekstremitetima viših kičmenjaka. Neparna peraja mogu ponekad da se produžavaju od glave do repa i od repa do analnog otvora. Ribe se kreću udrima repnih peraja od desne strane na levu i obrnuto. Ostala peraja služe kao organi za krmarenje ili stabilizacioni organi za održavanje ravnoteže. Ribe se kreću relativno brzo. Tako, naprimer, pastrmka može da postigne brzinu od 35 kilometara na sat, štuka do 27 kilometara, mrena do 18 kilometara a šaran, jegulja i linjak do 12 kilometara. Riblji mehur olakšava mnogim ribama plivanje a osim toga izjednačuje specifičnu težinu tela sa vodenim pritiskom i služi kao hidrostatički aparat. Vrlo retko služi kao organ za disanje. U grupu parnih peraja spadaju prsna i trbušna, a u grupu neparnih leđna, repna, podrepna i masna.
Prsne peraje (pterygia pectoralia) su simetrično smeštena sa obe strane tela iza škržnih poklopaca. Trbušne peraje (pterygia ventralia) su kod nekih riba smeštena ispod trbuha, dok su kod nekih pomerena napred. Kod grgeča i smuđa prsne peraje su nešto dorzalnije, dok su trbušne gotovo ispod njih.
Leđna peraja (pinna dorsalis) može biti različite dužine, a kod nekih vrsta je podeljena. Šaran se karakteriše veoma dugom leđnom perajom čije su prve tri žbice sa malim zubićima tvrdo uzglobljene. Nasuprot šaranu, linjak ima leđnu peraju malih dimenzija. Smuđ i grgeč imaju dvostruku leđnu peraju kojoj je prednji deo sa tvrdo uzglobljenim žbicama poput bodlji. Zadnji deo je podupret meko uzglobljenim žbicama kao i sve druge peraje. Repna peraja (pinna caudalis) zajedno sa repom omogućava kretanje ribe. Podrepna peraja (pinna analis) je kod soma veoma duga. Pojedine ribe imaju između leđne i repne peraje kožni nabor bez koštanih žbica koji je ispunjen masnim tkivom, te se zbog toga ova struktura naziva masna peraja (pinna adiposa).