A reduction system where an expression is represented as a string of function names, constants and parentheses. It is reduced by replacing parts of the string representing subterms by their value. It is harder to represent sharing of subexpressions in string reduction than in graph reduction.