The concentration of carbazoles in highly mature crude oil is quite low, making it challenging to separate carbazole compounds for the gas chromatography-mass spectrometry (GC–MS) detection. This study presents a small-scale column chromatography method for separating carbazoles from highly mature crude oil using silica gel as a solid phase adsorbent and a Pasteur pipette as a separation device. The carbazole-rich crude oil from the Pearl River Mouth Basin was selected to explore the impact of reagent polarity and injection mode on the separation of carbazoles. The oil sample was eluted with solvents mixed with different volume proportions of n-hexane and dichloromethane and each eluted fraction was collected for GC–MS testing. The results indicated that increasing the reagent polarity caused the aromatic hydrocarbons and carbazole compounds in crude oil to be eluted sequentially. Most aromatic compounds in the crude oil could be selectively eluted using a reagent polarity ratio of 9:1 (Vn-hexane: Vdichloromethane), with no carbazole compounds. A significant amount of carbazole compounds were eluted in the polar segments of 8:2–6:4, with the eluted carbazoles concentration accounting for more than 98 % of the total concentration. Moreover, the concentration and recovery of carbazoles eluted by direct injection mode were about 10 % higher than those after adsorption by silica gel. The standard deviation of the parameter ratio for the separated carbazole compounds in the three groups of repeatable parallel experiments was less than 0.2 %. Our method is superior to traditional two-step method and C18 column method in separation efficiency and damage to human body. This method can be applied to both highly mature crude oil and other kinds of oils including biodegradable oil. It could be a versatile method for the carbazoles separation and provide technical support in unveiling the geochemical implications of these compounds in complex areas.