Debarking Pet Myths: Cats Purr Only When They’re Content

Welcome to “Debarking Pet Myths,” a monthly series dedicated to addressing common myths, misconceptions and old wives’ tales about dogs and cats.

Cat owners love to hear — or feel — their cats purr. There’s something incredibly relaxing and soothing about petting a purring cat who’s deigned to rest in your lap. After all, a purring cat is a happy and content kitty, right?

Maybe. Or maybe not.

Just how much do you really know about why and how your cat purrs? What veterinarians and researchers now know may surprise you!

How the feline purr is produced

How cats purr had been a mystery for many years. While still a topic of debate, scientists now believe the feline purr is created when a neural oscillator in the brain intermittently signals the muscles of larynx (voice box) to vibrate, which is then combined with movement of the diaphragm (the muscles at the base of the chest cavity that play an important role in breathing). As air passes over the vibrating laryngeal muscles, a purr is produced as the cat inhales and exhales. No special organ. No special apparatus.

Not all purrs are created equal

Each cat’s purr is unique. Some are high-pitched; others are a low rumble. Some cats purr so softly that you feel them vibrate rather than hear them purr. Still other purrs are incredibly loud. Yet despite their uniqueness, research has found that cats purr with a consistent pattern and frequency of about 25 to 150 vibrations per second. What’s the big deal about this frequency range?

A bioacoustics researcher, Elizabeth von Muggenthaler, believes cats may purr to help heal themselves. According to von Muggenthaler, frequencies between 24 and 140 hertz (vibrations per second) are therapeutic for bone growth, pain relief and wound healing. She recorded a variety of cat purrs, including those of domestic cats, and discovered that the purrs all fit into the range for improved bone density and promote bone and muscle healing.

Purr frequencies can go higher than 150 hertz — a purr that cats may use when trying to get their owners to feed them. One study in the journal of Current Biology found that the purr of cats soliciting their owners for food contained a frequency peak that rose to 220 to 520 hertz. Researchers believe, based on their study, that the higher frequency makes the sound harder for cat parents to ignore.

Why do cats purr?

Overwhelmingly, cats purr as a form of communication — with their owners, with each other and with themselves. According to Pam Johnson-Bennett, a cat’s purr communicates several emotional states, with contentment and happiness being just two of them. Cats purr when they feel fear or distressed (check if your cat is purring during his or her next veterinary appointment), when they are sick or recovering from an injury, in pain or even dying.

Queens (intact female cats) will purr as they’re giving birth as a self-comforting behavior and for pain management. Endorphins — those feel-good chemicals that are released when people exercise — are released when cats purr and can help manage pain. Once kittens are born, the queen will purr to help them locate her for nursing and warmth (kittens are born blind and deaf but do feel vibrations). Kittens can purr by the time they’re 2 days old, will purr during nursing and likely use purring to let mama kitty know they’re okay.

Cats may also purr to soothe another cat who may be a potential opponent. Purring may be a way to de-escalate and avert possible aggression.

The bottom line is that cats purr during a variety of situations and in response to different stimuli. A cat’s purr is similar to a human smile or laughter, or a dog’s tail wag. We all communicate different emotions using ways that can be misconstrued.

Cats Purr Only When They

The information in this blog has been developed with our veterinarian and is designed to help educate pet parents. If you have questions or concerns about your pet's health or nutrition, please talk with your veterinarian.

Search

  • Where to Buy Diamond Pet Food Near Me
    [gravityform id="22" ajax="true"]
    <div class='gf_browser_unknown gform_wrapper gravity-theme scoop-form_wrapper' id='gform_wrapper_22' style='display:none'><div id='gf_22' class='gform_anchor' tabindex='-1'></div> <div class='gform_heading'> <h2 class="gform_title">The Scoop Newsletter</h2> <span class='gform_description'></span> <p class='gform_required_legend'>&quot;<span class="gfield_required gfield_required_asterisk">*</span>&quot; indicates required fields</p> </div><form method='post' enctype='multipart/form-data' target='gform_ajax_frame_22' id='gform_22' class='scoop-form' action='/blog/culture/myths/debarking-pet-myths-cats-purr-theyre-content/#gf_22' > <div class='gform_body gform-body'><div id='gform_fields_22' class='gform_fields top_label form_sublabel_below description_below'><div id="field_22_8" class="gfield gfield--width-full gfield_html gfield_html_formatted gfield_no_follows_desc field_sublabel_below field_description_below gfield_visibility_visible" ><p class="sign-up-text">Sign up to receive email communications, including our <span style="white-space:nowrap;">e-newsletter</span>, The Scoop, where you can be the first to know about social contests, new blog posts and more!</p></div><fieldset id="field_22_1" class="gfield field_sublabel_hidden_label field_description_below hidden_label gfield_visibility_visible" ><legend class='gfield_label gfield_label_before_complex' >Name</legend><div class='ginput_complex ginput_container no_prefix has_first_name no_middle_name has_last_name no_suffix gf_name_has_2 ginput_container_name' id='input_22_1'> <span id='input_22_1_3_container' class='name_first' > <input type='text' name='input_1.3' id='input_22_1_3' value='' aria-label='First name' aria-required='false' placeholder='FIRST NAME' /> <label for='input_22_1_3' class='hidden_sub_label screen-reader-text'>First</label> </span> <span id='input_22_1_6_container' class='name_last' > <input type='text' name='input_1.6' id='input_22_1_6' value='' aria-label='Last name' aria-required='false' placeholder='LAST NAME' /> <label for='input_22_1_6' class='hidden_sub_label screen-reader-text'>Last</label> </span> </div></fieldset></fieldset><div id="field_22_2" class="gfield gfield--width-full gfield_contains_required field_sublabel_below field_description_below hidden_label gfield_visibility_visible" ><label class='gfield_label' for='input_22_2' >Email<span class="gfield_required"><span class="gfield_required gfield_required_asterisk"> * <span class='sr-only'> Required</span></span></span></label><div class='ginput_container ginput_container_email'> <input name='input_2' id='input_22_2' type='text' value='' class='large' placeholder='EMAIL ADDRESS' aria-required="true" aria-invalid="false" /> </div></div><fieldset id="field_22_3" class="gfield gfield--width-full pet-parent-radio gfield_contains_required field_sublabel_below field_description_above hidden_label gfield_visibility_visible" ><legend class='gfield_label' >PROUD PARENT OF A<span class="gfield_required"><span class="gfield_required gfield_required_asterisk"> * <span class='sr-only'> Required</span></span></span></legend><div class='gfield_description' id='gfield_description_22_3'>PROUD PARENT OF A</div><div class='ginput_container ginput_container_radio'><div class='gfield_radio' id='input_22_3'> <div class='gchoice gchoice_22_3_0'> <input class='gfield-choice-input' name='input_3' type='radio' value='DOG' id='choice_22_3_0' onchange='gformToggleRadioOther( this )' aria-describedby="gfield_description_22_3" /> <label for='choice_22_3_0' id='label_22_3_0'>DOG</label> </div> <div class='gchoice gchoice_22_3_1'> <input class='gfield-choice-input' name='input_3' type='radio' value='CAT' id='choice_22_3_1' onchange='gformToggleRadioOther( this )' /> <label for='choice_22_3_1' id='label_22_3_1'>CAT</label> </div> <div class='gchoice gchoice_22_3_2'> <input class='gfield-choice-input' name='input_3' type='radio' value='BOTH' id='choice_22_3_2' onchange='gformToggleRadioOther( this )' /> <label for='choice_22_3_2' id='label_22_3_2'>BOTH</label> </div></div></div></fieldset></fieldset><div id="field_22_7" class="gfield gfield--width-full gfield_html gfield_html_formatted field_sublabel_below field_description_below gfield_visibility_visible" ><button class="dropdown-toggle" type="button" id="puppy-drop" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">DO YOU HAVE A PUPPY?*</button></div><fieldset id="field_22_6" class="gfield gfield--width-full scoop-puppy-radios gfield_contains_required field_sublabel_below field_description_above hidden_label gfield_visibility_visible" ><legend class='gfield_label' >Do you have a Puppy?<span class="gfield_required"><span class="gfield_required gfield_required_asterisk"> * <span class='sr-only'> Required</span></span></span></legend><div class='gfield_description' id='gfield_description_22_6'>*By answering "Yes" to this question, you agree to receive the <i>Puppy Love</i> email series</div><div class='ginput_container ginput_container_radio'><div class='gfield_radio' id='input_22_6'> <div class='gchoice gchoice_22_6_0'> <input class='gfield-choice-input' name='input_6' type='radio' value='NO' id='choice_22_6_0' onchange='gformToggleRadioOther( this )' aria-describedby="gfield_description_22_6" /> <label for='choice_22_6_0' id='label_22_6_0'>NO</label> </div> <div class='gchoice gchoice_22_6_1'> <input class='gfield-choice-input' name='input_6' type='radio' value='Yes - 1 month old (or younger)' id='choice_22_6_1' onchange='gformToggleRadioOther( this )' /> <label for='choice_22_6_1' id='label_22_6_1'>Yes, they're 1 month old</label> </div> <div class='gchoice gchoice_22_6_2'> <input class='gfield-choice-input' name='input_6' type='radio' value='Yes - 2 months old' id='choice_22_6_2' onchange='gformToggleRadioOther( this )' /> <label for='choice_22_6_2' id='label_22_6_2'>Yes, they're 2 months old</label> </div> <div class='gchoice gchoice_22_6_3'> <input class='gfield-choice-input' name='input_6' type='radio' value='Yes - 3 months old' id='choice_22_6_3' onchange='gformToggleRadioOther( this )' /> <label for='choice_22_6_3' id='label_22_6_3'>Yes, they're 3 months old</label> </div> <div class='gchoice gchoice_22_6_4'> <input class='gfield-choice-input' name='input_6' type='radio' value='Yes - 4 months old' id='choice_22_6_4' onchange='gformToggleRadioOther( this )' /> <label for='choice_22_6_4' id='label_22_6_4'>Yes, they're 4 months old</label> </div> <div class='gchoice gchoice_22_6_5'> <input class='gfield-choice-input' name='input_6' type='radio' value='Yes - 5 months old' id='choice_22_6_5' onchange='gformToggleRadioOther( this )' /> <label for='choice_22_6_5' id='label_22_6_5'>Yes, they're 5 months old</label> </div> <div class='gchoice gchoice_22_6_6'> <input class='gfield-choice-input' name='input_6' type='radio' value='Yes - 6 months old' id='choice_22_6_6' onchange='gformToggleRadioOther( this )' /> <label for='choice_22_6_6' id='label_22_6_6'>Yes, they're 6 months old</label> </div> <div class='gchoice gchoice_22_6_7'> <input class='gfield-choice-input' name='input_6' type='radio' value='Yes - 7 months old' id='choice_22_6_7' onchange='gformToggleRadioOther( this )' /> <label for='choice_22_6_7' id='label_22_6_7'>Yes, they're 7 months old</label> </div> <div class='gchoice gchoice_22_6_8'> <input class='gfield-choice-input' name='input_6' type='radio' value='Yes - 8 months old' id='choice_22_6_8' onchange='gformToggleRadioOther( this )' /> <label for='choice_22_6_8' id='label_22_6_8'>Yes, they're 8 months old</label> </div> <div class='gchoice gchoice_22_6_9'> <input class='gfield-choice-input' name='input_6' type='radio' value='Yes - 9 months old' id='choice_22_6_9' onchange='gformToggleRadioOther( this )' /> <label for='choice_22_6_9' id='label_22_6_9'>Yes, they're 9 months old</label> </div> <div class='gchoice gchoice_22_6_10'> <input class='gfield-choice-input' name='input_6' type='radio' value='Yes - 10 months old' id='choice_22_6_10' onchange='gformToggleRadioOther( this )' /> <label for='choice_22_6_10' id='label_22_6_10'>Yes, they're 10 months old</label> </div> <div class='gchoice gchoice_22_6_11'> <input class='gfield-choice-input' name='input_6' type='radio' value='Yes - 11 months old' id='choice_22_6_11' onchange='gformToggleRadioOther( this )' /> <label for='choice_22_6_11' id='label_22_6_11'>Yes, they're 11 months old</label> </div> <div class='gchoice gchoice_22_6_12'> <input class='gfield-choice-input' name='input_6' type='radio' value='Yes - 12 months old' id='choice_22_6_12' onchange='gformToggleRadioOther( this )' /> <label for='choice_22_6_12' id='label_22_6_12'>Yes, they're 12 months old</label> </div></div></div></fieldset></fieldset><fieldset id="field_22_9" class="gfield gfield--width-full field_sublabel_below field_description_below hidden_label gfield_visibility_hidden" ><div class='admin-hidden-markup'><i class='gform-icon gform-icon--hidden'></i><span>Hidden</span></div><legend class='gfield_label gfield_label_before_complex' >Newsletter Subscribe</legend><div class='ginput_container ginput_container_checkbox'><div class='gfield_checkbox' id='input_22_9'><div class='gchoice gchoice_22_9_1'> <input class='gfield-choice-input' name='input_9.1' type='checkbox' value='Company Newsletters, Contests &amp; More' checked='checked' id='choice_22_9_1' /> <label for='choice_22_9_1' id='label_22_9_1'>Company Newsletters, Contests & More</label> </div><div class='gchoice gchoice_22_9_2'> <input class='gfield-choice-input' name='input_9.2' type='checkbox' value='Puppy Love for your pup&#039;s first year?' checked='checked' id='choice_22_9_2' /> <label for='choice_22_9_2' id='label_22_9_2'>Puppy Love for your pup's first year?</label> </div></div></div></fieldset></fieldset><div id="field_22_10" class="gfield gfield--width-full field_sublabel_below field_description_below hidden_label gfield_visibility_hidden" ><div class='admin-hidden-markup'><i class='gform-icon gform-icon--hidden'></i><span>Hidden</span></div><label class='gfield_label' for='input_22_10' >No Puppy subscribe</label><div class='ginput_container ginput_container_text'><input name='input_10' id='input_22_10' type='text' value='Company Newsletters, Contests &amp; More' class='large' aria-invalid="false" /> </div></div><div id="field_22_11" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" ><div class='ginput_container ginput_container_text'><input name='input_11' id='input_22_11' type='hidden' class='gform_hidden' aria-invalid="false" value='The Scoop PopUp' /></div></div></div></div> <div class='gform_footer top_label'> <input type="submit" id="gform_submit_button_22" class="gform_button button om-trigger-conversion scoop-pupout-submit-btn" value="I WANT THE SCOOP!" onclick='if(window["gf_submitting_22"]){return false;} window["gf_submitting_22"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_22"]){return false;} window["gf_submitting_22"]=true; jQuery("#gform_22").trigger("submit",[true]); }'> <input type='hidden' name='gform_ajax' value='form_id=22&amp;title=1&amp;description=1&amp;tabindex=0' /> <input type='hidden' class='gform_hidden' name='is_submit_22' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='22' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_22' value='WyJbXSIsIjMxNWNiMzMzODYwMmM1N2FiZWEyMTM0ZDJlYTQ2NGMyIl0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_22' id='gform_target_page_number_22' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_22' id='gform_source_page_number_22' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> </form> </div> <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_22' id='gform_ajax_frame_22' title='This iframe contains the logic required to handle Ajax powered Gravity Forms.'></iframe> <script type="text/javascript"> gform.initializeOnLoaded( function() {gformInitSpinner( 22, 'https://www.diamondpet.com/wp-content/plugins/gravityforms/images/spinner.svg' );jQuery('#gform_ajax_frame_22').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_22');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_22').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_22').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_22').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_22').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_22').offset().top - mt); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_22').val();gformInitSpinner( 22, 'https://www.diamondpet.com/wp-content/plugins/gravityforms/images/spinner.svg' );jQuery(document).trigger('gform_page_loaded', [22, current_page]);window['gf_submitting_22'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}setTimeout(function(){jQuery('#gform_wrapper_22').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_22').offset().top - mt);jQuery(document).trigger('gform_confirmation_loaded', [22]);window['gf_submitting_22'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_22').text());}, 50);}else{jQuery('#gform_22').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger('gform_post_render', [22, current_page]);} );} ); </script>