એક કમ્પાઇલર એક સોફ્ટવેર પ્રોગ્રામ છે જે કમ્પ્યુટર પ્રોગ્રામિંગ કોડને માનવીય પ્રોગ્રામર દ્વારા દ્વિસંગી કોડ (મશીન કોડ) માં લખવામાં રૂપાંતરિત કરે છે જેને ચોક્કસ CPU દ્વારા સમજી શકાય અને ચલાવવામાં આવે છે.