Free tool
Online pseudocode compiler for Cambridge, AQA and OCR
Write exam-style pseudocode, add inputs, and run it straight away. Errors come with line numbers. It runs in your browser with no sign-up and supports Cambridge 0478 and 9618, AQA 8525 and 7517, and OCR J277 and H446.
Choose your exam board
- Cambridge IGCSE 0478Cambridge IGCSE pseudocode with ← assignment, DECLARE, CASE OF and DIV/MOD functions.5 example programs
- Cambridge AS & A Level 9618Cambridge AS & A Level pseudocode with records (TYPE), BYREF parameters and text files.5 example programs
- AQA GCSE 8525AQA GCSE pseudo-code with zero-based arrays, SUBROUTINE blocks and USERINPUT.6 example programs
- AQA A Level 7517AQA A Level pseudo-code for algorithms such as searching, sorting, recursion and stacks.4 example programs
- OCR GCSE J277OCR Exam Reference Language with print/input, = assignment, == comparison and switch/case.5 example programs
- OCR A Level H446OCR A Level pseudocode with byRef/byVal parameters, recursion and openRead/openWrite files.4 example programs
Frequently asked questions
Is this a real pseudocode compiler?
Yes. Apollo parses your pseudocode with the rules of the exam board you pick, then runs it line by line. Syntax and runtime errors show the line number and a plain-English explanation.
Which exam boards does it support?
Cambridge IGCSE 0478, Cambridge International AS & A Level 9618, AQA GCSE 8525, AQA A Level 7517, OCR GCSE J277 (Exam Reference Language), and OCR A Level H446. Each board writes pseudocode slightly differently, so choose the one you're studying.
How do I give my program input?
Type the values your program will read into the Inputs box, one per line. Each INPUT, USERINPUT or input() statement takes the next value in the list.
Does my code get uploaded anywhere?
No. The public runner works entirely in your browser, so your code never leaves your device. Your draft is saved in this browser so you can come back to it.
What happens if my program loops forever?
Apollo stops any program that runs for too many steps and tells you it was stopped, so a missing loop exit can't freeze your tab.