A Charge Readout Integrated Circuit (CRIC) which converts detector charges to digital codes is described. The CRIC provides 32 channels of circuitry needed to form charge-to-digital converters having a total dynamic range of 17 b comprised of 4 b of pre-amp gain control and a conversion range of 13 b. Each channel includes a switched-capacitor integrator, a double-sampling amplifier, a sampling comparator, and a 12-b digital latch, forming a pipeline from which a new conversion result is readout every 50 mu s. The data conversion scheme implements a programmable compression curve, which is stored as a look-up table in an off-chip, digital memory. In addition to the lookup table, data conversion requires an off-chip digital-to-analog converter, both of which may be shared by any number of CRIC's. The CRIC was fabricated using a 3-mu m, n-well BiCMOS process, and occupies a die area of 5.1 mm x 7.5 mm. It operates at 10 MHz, consumes 440 mW from +/-5-V supplies, and has a demonstrated input-referred noise performance of 2.2 mu V rms, i.e., 1400 e(-) on 100 pF of shunt capacitance.