Studies on social class differences in childhood health are controversial partly because of different data collection methods, limited sample sizes and the use of limited numbers of health indicators. The increasing collection of health register data enables the use of such data in social class studies. Our purpose was to investigate social class differences in mortality and morbidity among all children born in Finland in 1987 (N=59,865 liveborns) until the age of seven by using several national health registers, and to study whether perinatal health explains these differences. The follow-up was based on data linkage with six national health registers, with 18 regional registers of mentally disabled children, covering the whole country, and with 38 educational registers of the largest county. Morbidity was measured in terms of a cumulative disease index, the cumulative incidence of asthma, diabetes, epilepsy and intellectual disability, hospitalisations, disease-related welfare benefits and special education. Social class, divided in four groups (I-III, Others) was defined by using the mother's occupation at the time the child was seven years old. Our study showed that register-based data collection is a feasible method for studying social class differences in health. In the unadjusted analysis, social class differences were found for all indicators except mortality after the age of one year and for the cumulative incidence of asthma and diabetes. After adjusting for confounders, the children in the lowest social class had the highest risk for poor health outcome both in the perinatal period and in childhood, and had the most intellectual disabilities, the highest mean of hospitalisation days, and received the most special education. The differences were not explained by perinatal health. The health of the children in the lowest social class was poorer, especially regarding mental indicators.