Some schools are charging parents up to £1.80 a day so their children can eat their own packed lunches, it has been claimed.
The fees, uncovered by the NASUWT union and reported in the Times Education Supplement (TES), has reportedly been brought in because of squeezed budgets.
The money is used to pay for cleaning and supervision in lunch areas, it was claimed.
Patrick Roach, the NASUWT's deputy general secretary, told the TES: "Now just sitting in a dining hall and unwrapping your sandwiches is considered to be an optional extra, it’s disgraceful, it’s shocking.
"Parents should be appalled in just the same way that we’re appalled.”
The union said it expected more schools to adopt the practice as budgets are cut.
A Department of Education spokesman told the TES it was "absolutely unacceptable" for schools to charge children to bring in packed lunches.