Translates and executes a high-level language program, line-by-line, no .exe file created, execution very slow, debugging easier/faster, since it stops translating when it reaches an error, allows real time error correction, can run program any time, even before code finished, used during development