The answer depends on which client you are running. As There are more than 6 different implementations, but below are 2 for reference:
As of April 2021 an Ethereum full node needs:
- ~732GB for Geth (Go)
- ~411GB for OpenEthereum (Rust)
This answer will of course become outdated, please refer to my source for these numbers here:
Source: https://etherscan.io/chartsync/chaindefault
Other implementations:
- Nethermind (C#)
- Turbo Geth (Go)
- Besu (Java)
- Sentry (Rust)