식해는 바다에서 먼 산간지대에서 생선을 저장하는 방법으로 시작된 것으로 이의 원산지는 쌀의 분포와 관계 있는 것으로 추측된다.
바다에서 멀리 떨어진 미얀마·타이·라오스 등지에서는 바다고기를 접할 수 없다. 그러나 은어·연어·뱀장어처럼 계절적으로 왕래하는 물고기가 많다. 따라서 자연히 그 계절이 지난 뒤의 저장이 문제가 된다. 이곳은 바다에서 멀기 때문에 소금이 귀하여 소금에 저린 물고기를 많이 만들 수가 없고, 또 열대이기 때문에 우기에는 건어를 만들기도 어렵다.
따라서 생선에다 소금을 약간 넣고 쌀밥을 섞어 숙성시키는 식해가 개발된 것으로 여겨진다. 생선에 최소한의 소금과 쌀밥을 섞어 숙성시키면 쌀의 전분이 분해되어 유산이 생성된다. 이 유산이 생선의 부패를 억제하고 독특한 풍미를 생성시킨다.
식해는 2세기 초엽에 중국의 ≪설문해자 說文解字≫에서 처음 등장한다. ≪설문해자≫에서는 “지(鮨)는 생선젓갈이고 자(鮓)는 생선의 또 다른 저장형태인 식해이다. 이것은 외래어이다.”라고 하였다. 3세기의 ≪석명 釋名≫에서는 “자는 저(菹)이다. 생선을 소금과 쌀로 빚어 숙성되면 먹는다.”고 하였다.
송나라 때에는 식해가 크게 성행하여 은어·잉어·해파리·거위·참새 등으로 만들었다. 북송의 수도인 개봉(開封)과 남송의 수도인 항저우(杭州)에서는 음식점은 물론 식료품점이나 거리의 노점에서도 판매되었다고 한다.
우리 나라에서는 조선 초기까지의 문헌에는 식해에 관한 내용이 수록되어 있지 않다. 그러나 조선 초기까지 식해가 없었던 것은 아니고 문헌에 기록되지 않았을 것으로 추측된다. 식해가 문헌에 나타나기 시작한 것은 조선 중엽부터이다.
우리 나라에서 식해를 담가 먹는 지방은 함경도·강원도·경상도이다. 모두 동해안에 연한 지방이다. 식해에 쓰이는 생선류는 명태·가자미·고등어·도루묵·멸치 등으로 다양하다. 바다에서 먼 고장은 생선을 말린 것으로 식해를 담그기도 한다.
식해에 넣는 곡류는 쌀밥·찰밥·차조밥·메조밥 등이다. 밥은 질지 않게 하고, 밥을 말려서 수분의 양을 조절한다. 함경도지방 식해의 특징은 반드시 조밥을 사용한다. 다른 지방에서는 쌀이나 찹쌀로 밥을 하여 섞는다.
함경도지방의 명산물인 가자미식해는 12월부터 3월초 무렵에 나는 가자미로 담가야 제맛이 난다. 맛은 맵고 얼큰하기도 하고 달착지근하면서도 산뜻한 맛이 난다.
담그는 법은 다음과 같다. 먼저 가자미를 씻어 물기를 뺀 다음에 항아리에 켜켜로 담으면서 소금으로 절인다(가자미는 꼬리 쪽에 가느다란 노란 줄이 있는 참가자미가 좋다.). 열흘 뒤쯤 빳빳하게 절은 가자미를 꺼내어 씻고 먹기 좋게 자른다. 조밥과 고춧가루를 넣어 버무린 뒤에 항아리에 담아 나흘쯤 묵힌다.
나흘이 지난 뒤에 무채를 굵게 썰어 소금에 절여 물기를 뺀 다음에 고춧가루에 버무려 항아리에 같이 담는다. 열흘쯤 지나 빨간 물이 들면 먹는다. 식해는 반찬으로 이용되며, 경상도지방의 농어촌에서는 명절 때 북어로 식해를 담가 먹는다.