early 14c., porpas, from Old French porpais (12c.) "porpoise," literally "pork fish," from porc "pork" (see pork (n.)) + peis "fish," from Latin piscis "fish" (see fish (n.)).
The Old French word probably is a loan-translation of a Germanic word meaning literally "sea-hog, mere-swine;" cf. Old Norse mar-svin, Old High German meri-swin, Middle Dutch mereswijn "porpoise" (the last of which also was borrowed directly into French and became Modern French marsouin).
Classical Latin had a similar name, porculus marinus (in Pliny), and the notion behind the name likely is a fancied resemblance of the snout to that of a pig.