До 19 век Карвина е незначително село в Тешинска Силезия, което се намира в близост до важния град Фрищат. Откриването на въглища в района довежда до бързото развитие на Карвина и околните села, и построяването на железопътни линии. След разделянето на Тешинска Силезия през 1920 г. то става част от Чехословакия като основен миннодобивен център на страната. През 1923 г. Калвина придобива права на град. През октомври 1938 г. е анексиран от Полша, заедно с цялата област Заолже, а по време на Втората световна война е част от нацистка Германия.
През 1944 г. Карвина, Фрищат и околните села Лазне Дарков, Рай и Старе Место са обединени в един град под името Карвина-Фрищат. За герб е избран герба на Фрищат, който на практика оттогава остава историческия център на съвременния индустриален град. След Втората световна война, когато районът отново става част от Чехословакия, от името му отпада втората, немска част. По-късно към Карвина е присъединено и село Лоуки над Олши.
Периодът след войната се характеризира с икономическа ориентация към тежката промишленост. Понастоящем градът все още е силно зависим от тежката индустрия, но бавно се престуктурира и развива други икономически дейности. Карвина е център на образованието в района с голям избор от специализирани средни училища и особено с Търговския факултет към Силезкия университет в Опава. През 1995 г. Карвина става статутарен град.
Административно деление
Карвина е разделен на шест кадастрални земи, на които са разположени 9 градски части:
Карвина е университетски град. Тук е разположен Търговския факултет на Силезкия университет в Опава. Градът има няколко средни училища: гимназия, средно техническо училище, търговска академия, училище за медицински сестри и др. Освен средните училища тук има също начални училища и детски градини.