Dog Body Language Decoder: What Is Your Dog Telling You?
October 2, 2026
Your dog is telling you how they feel all day long. The hard part is reading several signals at once, in the moment, when they don’t all seem to agree.
Tick what you can see in the decoder below, from the eyes down to the tail. It’ll tell you which emotional zone your dog is most likely in and what to do about it.
Body Language Tool
Dog Body Language Decoder
Tap every signal you can see right now. The decoder reads them together and tells you what your dog is most likely feeling, and what to do next.
No signals selected
Pick at least one signal above to see what your dog is telling you.
RelaxedAlertAnxiousDefensive
This decoder is a general guide to common canine signals, not a diagnosis. Every dog is an individual, and breed traits (like naturally upright ears or a curled tail) can change how signals look. If your dog often shows fearful or defensive signals, talk to your vet or a certified behaviour professional.
How to use the decoder
Watch your dog for a few seconds before you start tapping.
Pick every signal you can actually see, not the ones you expect to see. The more you select, the more accurate the result.
If your dog’s breed has naturally upright ears or a tightly curled tail, judge those parts by changes from their normal position rather than the position itself.
Why one signal is never enough
A wagging tail is the classic trap. A loose, sweeping wag that moves the hips means a happy dog, but a high, stiff tail twitching fast means the opposite.
A yawn is the same. On a dog bed before a nap it means tiredness, but halfway through a vet exam it’s a stress signal.
That’s why the decoder weighs every signal together instead of reading one in isolation.
Dog Tail Meaning Chart
The tail is the signal most people watch first, and the one they misread most. Height, speed and stiffness matter more than whether it’s wagging. Here are the eight tail positions worth knowing:
Relaxed, natural hang: Calm and at ease | Look for: tail in its normal resting position, neither raised nor tucked
Wide, loose wag: Happy | Look for: sweeping side to side, hips wiggling along with it
Helicopter wag: Very happy, often a greeting | Look for: tail circling round, whole back end wiggling
High, loose wag: Excited and playful | Look for: tail carried higher than usual but still loose, bouncy body, often at the start of play
Level and still: Alert and curious | Look for: tail held out from the spine, body still, ears forward
Low, slow wag: Unsure or worried | Look for: tail below the back, small hesitant wags, head lowered
Tucked between the legs: Scared | Look for: tail clamped under the belly, body crouched, ears back
High and stiff, fast twitch: Tense, a warning | Look for: tail straight up, short fast flicks, body rigid. Give this dog space.
The difference between a happy high tail and a warning high tail is stiffness. A loose, bouncy tail with a wiggly body is play. A rigid tail with a still, rigid body is tension.
One more thing researchers have noticed: dogs tend to wag a little more to their right when they feel positive, like seeing their owner, and more to their left when they’re uneasy, like meeting an unfamiliar dog. It’s subtle and hard to spot in real life, so treat it as an interesting extra rather than something to rely on.
Every dog’s “normal” tail is different. A Husky’s tail curls over the back and a Greyhound’s hangs low, so judge the change from your own dog’s usual position, then check the face and body with the decoder above.
The 4 zones at a glance
Relaxed: soft eyes, open mouth, loose body, sweeping wag. Your dog feels safe.
Alert: ears forward, mouth closed, weight on the front feet. Your dog is checking something out.
Anxious: whale eye, pinned ears, lip licking, tucked tail. Your dog wants more space.
Defensive: a freeze, a hard stare, curled lips or a growl. Your dog is warning you to back off.
Mixed signals are common, especially when a dog is excited and nervous at the same time.
When relaxed and stressed signs show up together, trust the stressed ones. A dog with a wagging tail and whale eye is uneasy, so give them room first and check again in a minute.
Catch the early signs
Most dogs don’t go straight from relaxed to snapping. They lick their lips, yawn, look away or lift a paw first.
If you step in at that stage by adding distance or ending the interaction, your dog rarely needs to escalate. Fearful Dog Body Language covers these quieter signals in detail.
When to get help
Talk to your vet or a certified behaviour professional if your dog regularly lands in the anxious or defensive zones during normal daily life.
The same goes for a dog that skips the early warnings and jumps straight to freezing or snapping, or one whose happy signals suddenly disappear. A sudden change can point to pain, so a vet check comes first.
Contains information related to marketing campaigns of the user. These are shared with Google AdWords / Google Ads when the Google Ads and Google Analytics accounts are linked together.
90 days
__utma
ID used to identify users and sessions
2 years after last activity
__utmt
Used to monitor number of Google Analytics server requests
10 minutes
__utmb
Used to distinguish new sessions and visits. This cookie is set when the GA.js javascript library is loaded and there is no existing __utmb cookie. The cookie is updated every time data is sent to the Google Analytics server.
30 minutes after last activity
__utmc
Used only with old Urchin versions of Google Analytics and not with GA.js. Was used to distinguish between new sessions and visits at the end of a session.
End of session (browser)
__utmz
Contains information about the traffic source or campaign that directed user to the website. The cookie is set when the GA.js javascript is loaded and updated when data is sent to the Google Anaytics server
6 months after last activity
__utmv
Contains custom information set by the web developer via the _setCustomVar method in Google Analytics. This cookie is updated every time new data is sent to the Google Analytics server.
2 years after last activity
__utmx
Used to determine whether a user is included in an A / B or Multivariate test.
18 months
_ga
ID used to identify users
2 years
_gali
Used by Google Analytics to determine which links on a page are being clicked
30 seconds
_ga_
ID used to identify users
2 years
_gid
ID used to identify users for 24 hours after last activity
24 hours
_gat
Used to monitor number of Google Analytics server requests when using Google Tag Manager