Some clients show name, others only IP

For example in the top clients list, some show a client name i.e. ‘James iPad’ and others only show an ip address (192.168.1.25), furthermore my iPhone also shows in the client list as just ‘iPhone’ rather than ‘James iPhone’.

I’m not sure why pi-hole is so inconsistent with the naming.

How do I get it to show all the client names?

I read something about it possibly being something to do with conditional forwarding but I haven’t adjusted any of that as I’m unsure if that is the issue.

Also I use a router for DHCP (I read other people’s posts and the differing DHCP options seemed to be a problem)

My pi-hole is a standard installation on a raspberry pi and I haven’t made any special changes or different modifications.

Hopefully this makes sense and someone is able to help solve this annoying issue, thanks.

You're making a wrong assumption if you think that Pi-hole makes up those names!
Pi-hole tries to discover those names via PTR records (reverse lookups) for known client IP's eg:

$ dig +noall +answer @10.0.0.2 -x 10.0.0.3
3.0.0.10.in-addr.arpa.  2       IN      PTR     nas.home.dehakkelaar.nl.

Where above 10.0.0.2 is my DHCP/DNS server combo and 10.0.0.3 is my NAS client.
You can run below to do a /24 scan for names that are known to your DHCP/DNS combo (your router):

$ echo 10.0.0.{1..254} | xargs -n 1 dig +noall +answer @10.0.0.2 -x
1.0.0.10.in-addr.arpa.  2       IN      PTR     router.home.dehakkelaar.nl.
2.0.0.10.in-addr.arpa.  2       IN      PTR     ph6a.home.dehakkelaar.nl.
3.0.0.10.in-addr.arpa.  2       IN      PTR     nas.home.dehakkelaar.nl.
4.0.0.10.in-addr.arpa.  2       IN      PTR     ph6b.home.dehakkelaar.nl.
5.0.0.10.in-addr.arpa.  2       IN      PTR     ph6d.home.dehakkelaar.nl.
6.0.0.10.in-addr.arpa.  2       IN      PTR     xen02.home.dehakkelaar.nl.
50.0.0.10.in-addr.arpa. 2       IN      PTR     iPad.home.dehakkelaar.nl.
[..]

And most but not all clients advertise above names/hostnames (the part before the dot) to the DHCP server during the DHCP lease transaction ... with emphasis on not all!

Please supply the debug token as requested in the help template as you hardly provided any details eg topology, client make/model of the ones not showing a name etc etc?

Apple devices set their hostname in the network to “iPhone” or “iPad” instead of the configured device name when “private wifi address” is active. If you want to see the real name instead of just “iPhone” go to: Settings > Wifi > The (i) of the network > Set private wifi address to “Off” instead of “Fixed” or “Rotating”( iOS 18+) or switch the toggle to off (iOS 17 and below )

Plus if Pi-hole were doing DHCP for your LAN instead of the router, you can tell Pi-hole to overrule the name advertised by the clients, if any, via DHCP to anything you like.
An older release of Pi-hole used to show how below:

I believe that setting is called dhcp.hosts now.

Thanks for trying to help but all this is very far beyond my knowledge and technical ability so I think while my pi-hole is still running ok, I will forget my minor complaint about the visual aspect.

Try the privacy suggestion by darkexplosiveqwx above.

iOS by default will not reveal that kind of info on the network. The idea is that when you join a guest wifi, eg a coffee shop or hotel, you are not revealing your iPhone's real name or real MAC addresses to some unknown network.

You can turn it off for just your home network by following those steps above. That will cause your iPhone to use its real hostname and actual MAC address when joining your home wifi and when talking with Pi-hole, which will then show it as expected.