Yes, a good carpet under sofa can protect the flooring underneath from scratches and stains. It can help to keep your flooring as immaculate as possible.