في علم الحاسوب، يُقصد بـ تنفيذ البرنامج (الإنجليزية: Execution)، عملية قيام الحاسوب بمعالجة برنامجٍ ما لإجراء الأفعال التي يرمز إليها. أثناء التنفيذ يتبع المعالج تعليمات البرنامج، فتنتج آثار مثل تغيير محتوى الذاكرة أو إجراء عمليات إدخال أو إخراج بما يتوافق مع دلالة التعليمات (الإنجليزية: Semanticsْ). ويُستعمل مصطلح تشغيل (الإنجليزية: Run) غالبًا بالمعنى نفسه. كما يُشار إلى بدء التنفيذ أحيانًا بمصطلحات مثل إطلاق (الإنجليزية: Launching) أو استدعاء (الإنجليزية: Invoking)، إلى جانب تنفيذ وتشغيل.
تتعدد أشكال الجهة أو الآلية التي تنفّذ البرنامج بحسب نوع الشيفرة وبيئة التشغيل، حيث تنفيذ لغة الآلة (الإنجليزية: Machine code)، وهو برنامج مكتوب بلغة الآلة عبر الواجهة القابلة للبرمجة في الحاسوب، حيث تتضمن العملية عادة تكرار دورة الجلب والفك والترميز (الإنجليزية: Fetch–Decode–Execute) ثم التنفيذ لكل تعليمة، وذلك تحت إشراف وحدة التحكم في المعالج. وتنفيذ الشيفرة المصدرية (الإنجليزية: Source code)، حيث قد تُنفَّذ الشيفرة المصدرية بواسطة مُفسِّر (الإنجليزية: Interpreter)، وهو برنامج يقرأ التعليمات ويطبّقها أثناء التشغيل بدلًا من الاعتماد على تنفيذها كشيفرة آلة مباشرة.
يمكن تنفيذ البرامج بطرق تشغيل مختلفة تبعًا لأسلوب التفاعل، كمثال المعالجة الدفعية (الإنجليزية: Batch processing)، حيث يُشغَّل البرنامج ضمن دفعة أعمال دون تفاعل بشري مباشر أثناء التنفيذ. وايضاً مثل التشغيل التفاعلي (الإنجليزية: Interactive session) يتفاعل المستخدم مع البرنامج أثناء التنفيذ، مثل إدخال أوامر ضمن جلسة تفاعلية.