On-chain data is stored directly on the blockchain and is highly transparent. While off-chain data is stored outside the blockchain and can be controlled or manipulated.