GitLab CI/CD page listing many gitlab runners that no longer exist
Just unregister offline runners:
As per GitLab Runner commands manual:

To delete the old and removed from GitLab runners, execute the following command.

    gitlab-runner verify --delete

You are not alone
P.S. The problem is common: there are many issues with questions like yours.
Moreover, there are several custom recipes to unregister &quot;offline&quot; runners:

bash script
API oneliner with curl
python script

API for &quot;zombie&quot; runners
As rlandster noted, sometimes you'll need an API
to unregister &quot;zombie&quot; runners.
curl -S --header &quot;PRIVATE-TOKEN:&lt;token&gt;&quot; &quot;https://gitlab.example.com/api/v4/runners/all&quot; | jq '.[] | select(.status == &quot;offline&quot;) | .id' | xargs -I runner_id curl -S --request DELETE --header &quot;PRIVATE-TOKEN:&lt;token&gt;&quot; &quot;https://gitlab.example.com/api/v4/runners/runner_id&quot;`

This will list all runners, instead of the personal ones: https://docs.gitlab.com/ee/api/runners.html#list-all-runners
P.S. note about runners
Pls note that Gitlab itself doesn't manage runners. So, e.g. to restart or shutdown the runner, use appropriate commands on the runner's hosts.