The 12 Lumps (and Bumps) of Canine Skin

At the first examination,

my new vet said to me:

“Your dog’s lumps are cancer free.”

 

Any dog owner receiving that news would certainly breathe a sigh of relief. Finding an unexpected lump or bump might bring words such as “tumor” or “cancer” to mind, especially if you’ve lost a pet to cancer before. But the good news is that many lumps and bumps on or under a dog’s skin are frequently benign — as in not cancer.

Evaluation of skin conditions, including lumps, is a very common reason why pet owners sought veterinary care in 2017, according to Healthy Paws Pet Insurance. Here is a brief overview of 12 common canine lumps and bumps, so you can better understand what should concern you and what warrants a trip to the veterinarian.

1. Lipoma

The most common benign lump that dogs develop, a lipoma is a fat-filled tumor found under the skin of middle-aged or older dogs and is considered a natural part of aging. These soft, rounded, non-painful masses grow slowly and rarely spread. Any breed can develop lipomas, although overweight or obese dogs are more prone to them. Your veterinarian may recommend monitoring or removing a particular lipoma depending on where it’s located and whether it interferes with your dog’s mobility.

2. Histiocytoma

A histiocytoma is a red, button-like lump that’s often found on the legs of dogs less than 6 years old. Because they frequently go away on their own, histiocytomas are thought to be an overgrowth of a specific type of immune system cells that normally help protect the skin from cancer. If you find such a mass on your dog, you’ll want to have your veterinarian check it since histiocytomas can look similar to some other dangerous cancers.

3. Perianal adenoma

A perianal adenoma is a common tumor related to the sebaceous (oil) glands surrounding the anus. These lumps are mostly seen in intact (unneutered) male dogs, although they have been found in spayed female dogs. A perianal adenoma is often slow growing and non-painful, but may ulcerate and become infected on its surface.

4. Skin tag

Like aging people, older dogs can develop skin tags, which are harmless, fibrous growths often extending from the skin’s surface by a stalk. Dogs may have a single tag or many of them on their chest, legs, face, back, armpits or other areas. Skin tags can develop in any breed, although large-breed dogs may be at greater risk.

5. Sebaceous cyst

One type of superficial bump on your dog’s skin is a sebaceous cyst, which is a plugged oil gland in the skin. Basically, a sebaceous cyst is a very large pimple that is harmless to your pet and may feel like a raised bump. If left alone, it might go away without treatment, but may recur. If it bursts, a white, paste-like or cottage-cheese-like material is seen. Most sebaceous cysts don’t cause trouble, although they can become red and sore.

6. Abscess

The simplest way to describe an abscess is a “pocket of pus” located somewhere in the body. If located under the skin, an abscess may appear suddenly as a painful swelling that may feel firm or squishy like a water balloon. An abscess associated with the skin may be caused by a bite wound, either from an insect or another animal, or by an infected penetrating injury such as those caused by sticks or grass awns (sharp grass seeds). Your veterinarian will need to evaluate the abscess, drain it, flush the area with a sterile solution and prescribe antibiotics.

7. Hives

Hives on dogs, known medically as urticaria, are similar to those on people. Hives may appear as a rash of round, red bumps or as a collection of round or oval, raised bumps on the skin that itch. The underlying cause is a reaction to an allergen such as a bee sting or contact with a plant. Hives often resolve on their own if the case is mild; however, sometimes your veterinarian will want to administer an antihistamine or steroid to provide relief.

8. Warts (papillomas)

Like us, dogs can get warts, too. Warts — or papillomas, in veterinary-speak — are small growths that seem to pop up on the skin suddenly. Caused by a virus that’s highly contagious between dogs, warts are usually benign growths that occur on the face, eyelids, mouth, genital area, lower legs, feet, on the footpads and between the toes. Dog warts typically have a cauliflower appearance similar to the warts people get, and grow alone or in clusters.

9. Melanoma

Canine melanoma tumors result from unchecked growth of pigment-carrying cells known as melanocytes. These masses can be malignant or benign, so if you find out on your pet, you’ll want your veterinarian to evaluate it immediately. Melanomas of the skin, which are not caused by sunlight, tend to be benign and readily treatable through surgery, while very aggressive melanomas tend to grow around the mouth and on legs.

10. Mast cell tumor

Mast cell tumors (MCTs) are the most common skin cancer in dogs. Mast cells are a type of immune system cell found in skin and other organs and normally play a role in inflammation and allergies. MCTs are most often found in dogs older than 8 years of age and in specific breeds, including boxers, Boston terriers, Labrador retrievers, beagles and schnauzers. These tumors can look like many other lumps and bumps, which is why it’s important to have your veterinarian check them out. The appearance of MCTs varies tremendously with some occurring as small, freely movable tumors of the skin, while others may be large, ulcerated and hairless.

11. Soft tissue sarcoma

Soft tissue sarcomas are a large group of tumors that arise from connective tissue and are very invasive to surrounding tissues. They usually appear as a firm or semi-firm lump in the deep layer of skin, under the skin or within muscle. The lumps are often non-painful, have normal skin overlying them, and commonly develop on the legs, chest or abdominal wall. These skin tumors are common among middle-aged and older large breed dogs

12. Squamous cell carcinoma

A squamous cell carcinoma (SCC) is a locally invasive, cancerous skin tumor that develops from the primary cell type found in skin and mucous membranes. These tumors can be found in the mouth, skin or nail beds of dogs. The most common skin sites for SCC lumps are those areas that have less pigment, lack hair or have sparse hair. The canine skin form is associated with sunlight exposure and considered relatively slow growing. Dogs tend to be diagnosed with SCC when they are between 8 and 10 years old.

There are many other types and causes of lumps and bumps in dogs of all ages. If you find a mysterious lump, you should make an appointment with your veterinarian to have it evaluated. While it could ultimately be nothing to worry about, that harmless-looking mass could be a more serious problem. The good news is that early detection can lead to successful treatment.

RELATED POST: Pets Get Skin Cancer, Too!

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_safari gf_browser_iphone 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/health/sensitive-skin/the-12-lumps-and-bumps-of-canine-skin/#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" data-js-reload="field_22_8"><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_above field_description_below hidden_label gfield_visibility_visible" data-js-reload="field_22_1"><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' > <label for='input_22_1_3' >First Name</label> <input type='text' name='input_1.3' id='input_22_1_3' value='' aria-required='false' /> </span> <span id='input_22_1_6_container' class='name_last' > <label for='input_22_1_6' >Last Name</label> <input type='text' name='input_1.6' id='input_22_1_6' value='' aria-required='false' /> </span> </div></fieldset></fieldset><div id="field_22_2" class="gfield gfield--width-full gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_22_2"><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 gfield_visibility_visible" data-js-reload="field_22_3"><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='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 )' /> <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 gfield_no_follows_desc field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_22_7"><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 gfield_visibility_visible" data-js-reload="field_22_6"><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" data-js-reload="field_22_9"><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" data-js-reload="field_22_10"><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" data-js-reload="field_22_11"><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='WyJbXSIsIjVmNTUxNjllZWEyZDg2NzZiODNmOTc4MzE4MjAxOTg5Il0=' /> <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>