{"id":39556,"date":"2024-11-08T01:54:00","date_gmt":"2024-11-08T06:54:00","guid":{"rendered":"https:\/\/www.theleangreenbean.com\/?p=39556"},"modified":"2025-07-24T14:24:06","modified_gmt":"2025-07-24T18:24:06","slug":"black-bean-brownies","status":"publish","type":"post","link":"https:\/\/www.theleangreenbean.com\/black-bean-brownies\/","title":{"rendered":"Healthy Black Bean Brownies"},"content":{"rendered":"\n<p><em>These Easy Healthy Black Bean Brownies are kid-friendly, easy to make and full of fiber. They perfect for a healthy snack or dessert!<\/em><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"680\" height=\"1020\" src=\"https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2022\/02\/black-bean-brownies-2.jpg\" alt=\"healthy black bean brownies - high protein brownies\" class=\"wp-image-39558\" title=\"\" srcset=\"https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2022\/02\/black-bean-brownies-2.jpg 680w, https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2022\/02\/black-bean-brownies-2-133x200.jpg 133w, https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2022\/02\/black-bean-brownies-2-367x550.jpg 367w\" sizes=\"auto, (max-width: 680px) 100vw, 680px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center\"><em>*Originally posted 2\/22. Updated 11\/24*<\/em><\/p>\n\n\n\n<p class=\"has-text-color has-background has-link-color wp-elements-bd51c21f9d5e06d76c1a74e5087c53f9\" style=\"color:#ffffff;background-color:#52804d\"><strong>These black bean brownies are perfect for busy moms who want to add some extra protein and fiber to a healthy, kid-friendly snack. They&#8217;re made with simple ingredients and easy to make in a food processor.<\/strong><\/p>\n\n\n\n<p>Hi friends!<\/p>\n\n\n\n<p>I&#8217;m excited to share the best black bean brownies with you guys today. To be honest, I would actually call these black bean bars since they&#8217;re not overly sweet and full of protein and fiber unlike traditional brownies, but people searching for this type of recipe want brownies, so that&#8217;s what we&#8217;ll call them! If you&#8217;re looking for healthy brownies without the beans, my <a href=\"https:\/\/www.theleangreenbean.com\/gluten-free-sweet-potato-brownies\/\">Gluten-Free Sweet Potato Brownies<\/a> are a longtime favorite around here.<\/p>\n\n\n\n<p>If you&#8217;re a longtime reader, you know putting beans, lentils and veggies into baked goods is one of my specialties! Looking for some other kid-friendly snacks? Try these:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.theleangreenbean.com\/white-bean-bars\/\">Sweet Potato White Bean Bars<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.theleangreenbean.com\/lentil-banana-muffins\/\">Lentil Banana Muffins<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.theleangreenbean.com\/apple-cinnamon-red-lentil-muffins\/\">Apple Cinnamon Red Lentil Muffins<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.theleangreenbean.com\/pumpkin-bean-bread\/\">Pumpkin Bean Bread<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.theleangreenbean.com\/sweet-potato-protein-cookies\/\">Sweet Potato Cookies<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.theleangreenbean.com\/healthy-chocolate-muffins\/\">Healthy Chocolate Muffins<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.theleangreenbean.com\/blondie-snickerdoodle-bars\/\">Blondie Snickerdoodle Bars<\/a><\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Why You&#8217;ll Love Black Bean Brownies<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Just 8 affordable ingredients<\/li>\n\n\n\n<li>Made with pantry staples<\/li>\n\n\n\n<li>Freezer-friendly<\/li>\n\n\n\n<li>Can&#8217;t taste the beans<\/li>\n\n\n\n<li>A kid-friendly snack that contains protein and fiber<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">What are black bean brownies?<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Do black bean brownies taste good?<\/h3>\n\n\n\n<p>Let&#8217;s address the most important question &#8211; taste! I&#8217;ve been getting requests for a muffin or bar recipe using black beans for several years now and I&#8217;ve always worried the bean taste would be stronger and more noticeable than white beans so I&#8217;ve avoided them. But I&#8217;m here to tell you that the beans are totally hidden in this recipe! If you didn&#8217;t know they were in there you would never guess.&nbsp;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"680\" height=\"1020\" src=\"https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2022\/02\/black-bean-brownies-3.jpg\" alt=\"best black bean brownies - healthy black bean dessert\" class=\"wp-image-39560\" title=\"\" srcset=\"https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2022\/02\/black-bean-brownies-3.jpg 680w, https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2022\/02\/black-bean-brownies-3-133x200.jpg 133w, https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2022\/02\/black-bean-brownies-3-367x550.jpg 367w\" sizes=\"auto, (max-width: 680px) 100vw, 680px\" \/><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">Baking with Beans&nbsp;<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Are black bean brownies good for you?<\/h3>\n\n\n\n<p>Yes! These black bean brownies make a great addition to a healthy diet. They are full of fiber and protein which means that instead of just spiking your blood sugar, they will actually help stabilize your blood sugar and keep you full for a longer period of time. Plus they taste good so they&#8217;re enjoyable to eat!<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">What do black beans replace in baking?<\/h3>\n\n\n\n<p>I usually think of beans as an addition to baked goods rather than a replacement for something else because I like to think about all the benefits they add. However, beans are known for being a good substitute for some of the butter and\/or oil in typical baked goods.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">What are the health benefits black beans and the benefits of baking with beans? Are black beans high in protein?<\/h3>\n\n\n\n<p>So what are the benefits of baking with beans? It&#8217;s an easy way to add protein and fiber! You can also use pureed beans to replace some of the butter in recipes for cookies and other baked goods. I tend to puree whole beans, lentils etc into my baked goods but you can also by things like chickpea flour and experiment with replacing up to half your wheat flour. <\/p>\n\n\n\n<p>You&#8217;ll be adding fiber, protein and other nutrient like B6, potassium, zinc and antioxidants. Black beans have 8g of protein and 7g of fiber per 1\/2 cup serving.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Healthy Recipes with Black Beans<\/h3>\n\n\n\n<p>If you&#8217;re looking for some more healthy recipes with black beans:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.theleangreenbean.com\/slow-cooker-creamy-mexican-chicken\/\">Slow Cooker Creamy Mexican Chicken<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.theleangreenbean.com\/slow-cooker-chicken-quinoa-enchilada-casserole\/\">Slow Cooker Chicken Enchilada Casserole<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.theleangreenbean.com\/baked-ranch-chicken-taquitos\/\">Baked Ranch Chicken Taquitos<\/a><\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Are these allergy-friendly black bean brownies?<\/h2>\n\n\n\n<p>These black bean brownies are naturally dairy-free. With a few adjustments they can also be vegan and\/or gluten-free making them a great choice for many people!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Vegan Black Bean Brownies<\/h2>\n\n\n\n<p>This particular recipe uses 2 eggs. To make them vegan, try replacing the eggs with flax eggs. One flax egg = 1 Tbsp ground flax + 3 Tbsp water. Mix and let sit 5 min before using. Be aware that this may change the texture of the recipe a bit.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Healthy Gluten-free Black Bean Brownies<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Are black bean brownies gluten-free?<\/h3>\n\n\n\n<p>Simply adding black beans to these brownies doesn&#8217;t make them gluten-free unless you also make changes to the flour. I&#8217;ve tried leaving the flour out of this recipe and they taste great, they&#8217;re just a bit more crumbly. I&#8217;d definitely recommend trying these <a href=\"https:\/\/www.theleangreenbean.com\/gluten-free-sweet-potato-brownies\/\" data-type=\"post\" data-id=\"12692\">Gluten-Free Sweet Potato Brownies<\/a>.<\/p>\n\n\n\n<p>It&#8217;s also super easy to make these black bean brownies gluten-free. The only thing you need to replace is 1\/3 cup flour. I&#8217;ve had success using a 1:1 gluten-free blend like <a href=\"https:\/\/amzn.to\/3JyO0jm\" target=\"_blank\" rel=\"noopener\">King Arthur Measure for Measure<\/a> (aff link).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Flourless Black Bean Brownies<\/h2>\n\n\n\n<p>I have tried leaving the flour out and didn&#8217;t like them as much in this particular recipe. If you really wanted to make them flourless, I would try subbing 1\/2 cup mashed cooked sweet potato for the flour! If you try it, let me know how it goes!<\/p>\n\n\n\n<p>Or try one of these: <a href=\"https:\/\/chocolatecoveredkatie.com\/no-flour-black-bean-brownies\/\" target=\"_blank\" rel=\"noopener\">No Flour Black Bean Brownies<\/a> or <a href=\"https:\/\/www.liveeatlearn.com\/black-bean-fudge-brownies\/\" target=\"_blank\" rel=\"noopener\">Fudgy Black Bean Brownies<\/a>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"680\" height=\"1020\" src=\"https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2022\/02\/black-bean-brownies-1.jpg\" alt=\"healthy black bean brownies recipe\" class=\"wp-image-39562\" title=\"\" srcset=\"https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2022\/02\/black-bean-brownies-1.jpg 680w, https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2022\/02\/black-bean-brownies-1-133x200.jpg 133w, https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2022\/02\/black-bean-brownies-1-367x550.jpg 367w\" sizes=\"auto, (max-width: 680px) 100vw, 680px\" \/><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">How To Make Healthy Black Bean Brownies<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">What are black bean brownies made of?<\/h3>\n\n\n\n<p>Let&#8217;s review the ingredients you&#8217;ll need for this recipe:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Black beans &#8211; I&#8217;d look for no-salt-added or rinse them after draining<\/li>\n\n\n\n<li>Eggs<\/li>\n\n\n\n<li>Oil &#8211; I use avocado oil because of it&#8217;s mild flavor<\/li>\n\n\n\n<li>Maple syrup- You could probably replace with white sugar but I&#8217;ve only tested using maple syrup<\/li>\n\n\n\n<li>Vanilla extract &#8211; Adds important flavor!<\/li>\n\n\n\n<li>Flour &#8211; I use white whole wheat flour. I tried making these flourless but think a little bit of flour really helps keep them from being too crumbly.&nbsp;<\/li>\n\n\n\n<li>Baking soda<\/li>\n\n\n\n<li>Pinch of salt<\/li>\n\n\n\n<li>Cocoa powder- I use Hershey&#8217;s Special Dark Cocoa Powder<\/li>\n\n\n\n<li>Chocolate chips &#8211; either mix throughout or sprinkle on top before baking<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">How To Make Black Bean Brownies Step-by-Step<\/h3>\n\n\n\n<p>If you have a food processor, making these brownies is super easy. Just add beans, eggs, oil, maple syrup and vanilla and blend until smooth. Add flour, cocoa powder, baking soda and salt and blend again. Mix in some chocolate chips and pour into a pan.<\/p>\n\n\n\n<p class=\"has-text-color has-background has-link-color wp-elements-333f405c2a08280a16f237a4b7efb170\" style=\"color:#fbfbfb;background-color:#52804d\"><strong>Mom Hack: Instead of mixing in chocolate chips, sprinkle a few on top of the pan before baking. They will visually entice the kids without adding a ton of extra sugar!<\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Can I make these black bean brownies if I don&#8217;t have a food processor?<\/h3>\n\n\n\n<p>Yes! If you have a high-powered blender you can probably add all your ingredients to the blender and blend. Or, grab your blender and combine the beans, eggs, oil and maple sryup. Blend until smooth then transfer to a bowl and add the remaining ingredients.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">How long to bake black bean brownies?<\/h3>\n\n\n\n<p>This can depend on your preference. I bake mine for about 14 minutes. These brownies are a more cakey than fudgy but if you want them a bit more fudgy you can underbake them by a minute or two.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Peanut Butter Black Bean Brownies<\/h3>\n\n\n\n<p>For an extra fun twist, try swirling some natural peanut butter through the batter before you bake these brownies!<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Best Easy Black Bean Brownie Recipe<\/h2>\n\n\n\n<p>Here&#8217;s the official recipe:<\/p>\n\n\n<svg aria-hidden=\"true\" style=\"position: absolute;width: 0;height: 0;overflow: hidden\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<defs>\n<symbol viewbox=\"9 9 46 42\" id=\"wpt-star-full\">\n\t<path d=\"m46.3 52-14.4-9.5-14.4 9.4L22 35.3 8.7 24.5l17.1-.9 6.2-16 6 16 17.2 1-13.4 10.7z\" \/>\n<\/symbol>\n<\/defs>\n<\/svg>\n<a class=\"button tasty-recipes-print-button tasty-recipes-no-print tasty-recipes-print-above-card\" href=\"https:\/\/www.theleangreenbean.com\/black-bean-brownies\/print\/39564\/\">Print<\/a><span class=\"tasty-recipes-jump-target\" id=\"tasty-recipes-39564-jump-target\" style=\"display:block;padding-top:2px;margin-top:-2px;\"><\/span><div id=\"tasty-recipes-39564\" data-tr-id=\"39564\" class=\"tasty-recipes tasty-recipes-39564 tasty-recipes-display tasty-recipes-has-image\" data-tasty-recipes-customization=\"primary-color.background-color primary-color.outline-color\">\n\n\n<h2 class=\"tasty-recipes-title\" data-tasty-recipes-customization=\"h2-color.color h2-transform.text-transform\">Best Black Bean Brownies Recipe<\/h2>\n<div class=\"tasty-recipes-image-button-container\">\n\t\t\t<div class=\"tasty-recipes-image\">\n\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2022\/02\/black-bean-brownies-3-copy-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"healthy black bean brownies with chocolate chips\" data-pin-nopin=\"true\" title=\"\">\t\t<\/div>\n\t\t<div class=\"tasty-recipes-buttons\">\n\t\t\t\t<div class=\"tasty-recipes-button-wrap\">\n\t\t\t\n<a class=\"button tasty-recipes-print-button tasty-recipes-no-print\" href=\"https:\/\/www.theleangreenbean.com\/black-bean-brownies\/print\/39564\/\" target=\"_blank\" data-tasty-recipes-customization=\"\">\n\t\t\t<svg viewBox=\"0 0 24 24\" class=\"svg-print\" aria-hidden=\"true\"><use xlink:href=\"#tasty-recipes-icon-print\"><\/use><\/svg>\n\t\tPrint Recipe<\/a>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n<\/div>\n\t<div class=\"tasty-recipes-rating\" data-tasty-recipes-customization=\"body-color.color\">\n\t\t\t\t\t<p><svg aria-hidden=\"true\" style=\"position: absolute;width: 0;height: 0;overflow: hidden\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<defs>\n<symbol viewbox=\"9 9 46 42\" id=\"wpt-star-full\">\n\t<path d=\"m46.3 52-14.4-9.5-14.4 9.4L22 35.3 8.7 24.5l17.1-.9 6.2-16 6 16 17.2 1-13.4 10.7z\" \/>\n<\/symbol>\n<\/defs>\n<\/svg>\n<span class=\"tasty-recipes-ratings-buttons tasty-recipes-no-ratings-buttons\"\tdata-tr-default-rating=\"4.6\"\t>\t\t<span class=\"tasty-recipes-rating\" data-tr-checked=\"1\">\t\t<i class=\"checked\" data-rating=\"5\">\t\t\t<span class=\"tasty-recipes-rating-solid\" data-tr-clip=\"60\">\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"9 9 46 42\" width=\"18\" height=\"17\">\t<defs>\t\t<linearGradient id=\"tasty-recipes-clip-10\">\t\t\t<stop offset=\"10%\" stop-color=\"currentColor\" \/>\t\t\t<stop stop-opacity=\"var(--tr-star-opacity)\" offset=\"0%\" stop-color=\"currentColor\" \/>\t\t<\/linearGradient>\t\t<linearGradient id=\"tasty-recipes-clip-20\">\t\t\t<stop offset=\"20%\" stop-color=\"currentColor\" \/>\t\t\t<stop stop-opacity=\"var(--tr-star-opacity)\" offset=\"0%\" stop-color=\"currentColor\" \/>\t\t<\/linearGradient>\t\t<linearGradient id=\"tasty-recipes-clip-30\">\t\t\t<stop offset=\"30%\" stop-color=\"currentColor\" \/>\t\t\t<stop stop-opacity=\"var(--tr-star-opacity)\" offset=\"0%\" stop-color=\"currentColor\" \/>\t\t<\/linearGradient>\t\t<linearGradient id=\"tasty-recipes-clip-40\">\t\t\t<stop offset=\"40%\" stop-color=\"currentColor\" \/>\t\t\t<stop stop-opacity=\"var(--tr-star-opacity)\" offset=\"0%\" stop-color=\"currentColor\" \/>\t\t<\/linearGradient>\t\t<linearGradient id=\"tasty-recipes-clip-50\">\t\t\t<stop offset=\"50%\" stop-color=\"currentColor\" \/>\t\t\t<stop stop-opacity=\"var(--tr-star-opacity)\" offset=\"0%\" stop-color=\"currentColor\" \/>\t\t<\/linearGradient>\t\t<linearGradient id=\"tasty-recipes-clip-60\">\t\t\t<stop offset=\"60%\" stop-color=\"currentColor\" \/>\t\t\t<stop stop-opacity=\"var(--tr-star-opacity)\" offset=\"0%\" stop-color=\"currentColor\" \/>\t\t<\/linearGradient>\t\t<linearGradient id=\"tasty-recipes-clip-70\">\t\t\t<stop offset=\"70%\" stop-color=\"currentColor\" \/>\t\t\t<stop stop-opacity=\"var(--tr-star-opacity)\" offset=\"0%\" stop-color=\"currentColor\" \/>\t\t<\/linearGradient>\t\t<linearGradient id=\"tasty-recipes-clip-80\">\t\t\t<stop offset=\"80%\" stop-color=\"currentColor\" \/>\t\t\t<stop stop-opacity=\"var(--tr-star-opacity)\" offset=\"0%\" stop-color=\"currentColor\" \/>\t\t<\/linearGradient>\t\t<linearGradient id=\"tasty-recipes-clip-90\">\t\t\t<stop offset=\"90%\" stop-color=\"currentColor\" \/>\t\t\t<stop stop-opacity=\"var(--tr-star-opacity)\" offset=\"0%\" stop-color=\"currentColor\" \/>\t\t<\/linearGradient>\t<\/defs>\t<path d=\"m46.3 52-14.4-9.5-14.4 9.4L22 35.3 8.7 24.5l17.1-.9 6.2-16 6 16 17.2 1-13.4 10.7z\" \/><\/svg>\t\t\t<\/span>\t\t\t<span class=\"tasty-recipes-screen-reader\">\t\t\t\t5 Stars\t\t\t<\/span>\t\t<\/i>\t<\/span>\t\t<span class=\"tasty-recipes-rating\" >\t\t<i class=\"checked\" data-rating=\"4\">\t\t\t<span class=\"tasty-recipes-rating-solid\" data-tr-clip=\"100\">\t\t\t\t<svg class=\"tasty-recipes-svg\"><use href=\"#wpt-star-full\" \/><\/svg>\t\t\t<\/span>\t\t\t<span class=\"tasty-recipes-screen-reader\">\t\t\t\t4 Stars\t\t\t<\/span>\t\t<\/i>\t<\/span>\t\t<span class=\"tasty-recipes-rating\" >\t\t<i class=\"checked\" data-rating=\"3\">\t\t\t<span class=\"tasty-recipes-rating-solid\" data-tr-clip=\"100\">\t\t\t\t<svg class=\"tasty-recipes-svg\"><use href=\"#wpt-star-full\" \/><\/svg>\t\t\t<\/span>\t\t\t<span class=\"tasty-recipes-screen-reader\">\t\t\t\t3 Stars\t\t\t<\/span>\t\t<\/i>\t<\/span>\t\t<span class=\"tasty-recipes-rating\" >\t\t<i class=\"checked\" data-rating=\"2\">\t\t\t<span class=\"tasty-recipes-rating-solid\" data-tr-clip=\"100\">\t\t\t\t<svg class=\"tasty-recipes-svg\"><use href=\"#wpt-star-full\" \/><\/svg>\t\t\t<\/span>\t\t\t<span class=\"tasty-recipes-screen-reader\">\t\t\t\t2 Stars\t\t\t<\/span>\t\t<\/i>\t<\/span>\t\t<span class=\"tasty-recipes-rating\" >\t\t<i class=\"checked\" data-rating=\"1\">\t\t\t<span class=\"tasty-recipes-rating-solid\" data-tr-clip=\"100\">\t\t\t\t<svg class=\"tasty-recipes-svg\"><use href=\"#wpt-star-full\" \/><\/svg>\t\t\t<\/span>\t\t\t<span class=\"tasty-recipes-screen-reader\">\t\t\t\t1 Star\t\t\t<\/span>\t\t<\/i>\t<\/span><\/span><\/p>\n\t\t\t\t\t\t\t<p><span data-tasty-recipes-customization=\"detail-label-color.color\" class=\"rating-label\"><span class=\"average\">4.6<\/span> from <span class=\"count\">13<\/span> reviews<\/span><\/p>\n\t\t\t<\/div>\n\n\n\t<div class=\"tasty-recipes-description\" data-tasty-recipes-customization=\"body-color.color\">\n\t\t<p><em>These Healthy Black Bean Brownies are kid-friendly, full of fiber and perfect for a snack or dessert!<\/em><\/p>\n\t<\/div>\n\n\t<div class=\"tasty-recipes-details\" data-tasty-recipes-customization=\"body-color.color\">\n\t\t<ul>\n\t\t\t\t\t\t\t<li class=\"author\"><strong data-tasty-recipes-customization=\"detail-label-color.color\" class=\"tasty-recipes-label\">Author:<\/strong> <a data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-author-name\" href=\"https:\/\/www.theleangreenbean.com\/about-me\/\">Lindsay<\/a><\/li>\n\t\t\t\t\t\t\t<li class=\"prep-time\"><strong data-tasty-recipes-customization=\"detail-label-color.color\" class=\"tasty-recipes-label\">Prep Time:<\/strong> <span data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-prep-time\">5 min<\/span><\/li>\n\t\t\t\t\t\t\t<li class=\"cook-time\"><strong data-tasty-recipes-customization=\"detail-label-color.color\" class=\"tasty-recipes-label\">Cook Time:<\/strong> <span data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-cook-time\">15 min<\/span><\/li>\n\t\t\t\t\t\t\t<li class=\"total-time\"><strong data-tasty-recipes-customization=\"detail-label-color.color\" class=\"tasty-recipes-label\">Total Time:<\/strong> <span data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-total-time\">20 minutes<\/span><\/li>\n\t\t\t\t\t\t\t<li class=\"yield\"><strong data-tasty-recipes-customization=\"detail-label-color.color\" class=\"tasty-recipes-label\">Yield:<\/strong> <span data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-yield\"><span data-amount=\"12\">12<\/span> brownies <span class=\"tasty-recipes-yield-scale\"><span data-amount=\"1\">1<\/span>x<\/span><\/span><\/li>\n\t\t\t\t\t<\/ul>\n\t<\/div>\n\n\t<div class=\"tasty-recipes-ingredients\">\n\t\t<div class=\"tasty-recipes-ingredients-header\">\n\t\t\t<div class=\"tasty-recipes-ingredients-clipboard-container\">\n\t\t\t\t<h3 data-tasty-recipes-customization=\"h3-color.color h3-transform.text-transform\">Ingredients<\/h3>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t<div class=\"tasty-recipes-units-scale-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"tasty-recipes-scale-container\">\n\t\t\t\t\t\t<span class=\"tasty-recipes-scale-label\">Scale<\/span>\n\t\t\t\t\t\t<button class=\"tasty-recipes-scale-button tasty-recipes-scale-button-active\" data-amount=\"1\" type=\"button\">1x<\/button><button class=\"tasty-recipes-scale-button\" data-amount=\"2\" type=\"button\">2x<\/button><button class=\"tasty-recipes-scale-button\" data-amount=\"3\" type=\"button\">3x<\/button>\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t<div class=\"tasty-recipes-ingredients-body\" data-tasty-recipes-customization=\"body-color.color\">\n\t\t\t<p><span data-amount=\"1\">1<\/span> (15 oz) can black beans, drained (approx <span data-amount=\"1.75\" data-unit=\"cup\">1.75 cups<\/span>)<br \/>\n<span data-amount=\"2\">2<\/span> eggs<br \/>\n<span data-amount=\"0.33333333333333\" data-unit=\"cup\">1\/3 cup<\/span> oil (I use avocado oil)<br \/>\n<span data-amount=\"0.33333333333333\" data-unit=\"cup\">1\/3 cup<\/span> maple syrup<br \/>\n<span data-amount=\"1\" data-unit=\"tsp\">1 tsp<\/span> vanilla extract<br \/>\n<span data-amount=\"0.33333333333333\" data-unit=\"cup\">1\/3 cup<\/span> flour (I use white whole wheat)<br \/>\n<span data-amount=\"0.33333333333333\" data-unit=\"cup\">1\/3 cup<\/span> cocoa powder (unsweetened)<br \/>\n<span data-amount=\"1\" data-unit=\"tsp\">1 tsp<\/span> baking soda<br \/>\n<span data-has-non-numeric-amount>pinch of salt<br \/>\n<\/span><br \/>\n<span data-amount=\"0.33333333333333\" data-unit=\"cup\">1\/3 cup<\/span> chocolate chips<\/p>\n<!--INSIDE_INGREDIENTS-->\t\t<\/div>\n\t\t<div class=\"tasty-recipes-cook-mode\">\n\t<div class=\"tasty-recipes-cook-mode__container\">\n\t\t<label class=\"tasty-recipes-cook-mode__switch\">\n\t\t\t<input type=\"checkbox\" id=\"tasty_recipes_696e57416f964_cookmode\">\n\t\t\t<span class=\"tasty-recipes-cook-mode__switch-slider tasty-recipes-cook-mode__switch-round\"\n\t\t\t\tdata-tasty-recipes-customization=\"button-color.background button-text-color.color\"><\/span>\n\t\t<\/label>\n\t\t<label for=\"tasty_recipes_696e57416f964_cookmode\">\n\t\t\t<span class=\"tasty-recipes-cook-mode__label\">Cook Mode<\/span>\n\t\t\t<span class=\"tasty-recipes-cook-mode__helper\">\n\t\t\t\tPrevent your screen from going dark\t\t\t<\/span>\n\t\t<\/label>\n\t<\/div>\n<\/div>\n\t<\/div>\n\n\t<div class=\"tasty-recipe-instructions\">\n\t\t<div class=\"tasty-recipes-instructions-header\">\n\t\t\t<h3 data-tasty-recipes-customization=\"h3-color.color h3-transform.text-transform\">Instructions<\/h3>\n\t\t\t\t\t<\/div>\n\t\t<div class=\"tasty-recipes-instructions-body\" data-tasty-recipes-customization=\"body-color.color\">\n\t\t\t<ol>\n<li id=\"instruction-step-1\">In a food processor, combine black beans, eggs, oil, maple syrup and vanilla and process until smooth.<\/li>\n<li id=\"instruction-step-2\">Add flour, cocoa powder, baking soda and salt and process until just combined.<\/li>\n<li id=\"instruction-step-3\">Pulse in chocolate chips or save to sprinkle on top.<\/li>\n<li id=\"instruction-step-4\">Spoon into a greased or lined 9&#215;9 baking pan.<\/li>\n<li id=\"instruction-step-5\">Bake at 375 for 14-15 minutes.<\/li>\n<\/ol>\n\t\t<\/div>\n\t<\/div>\n\n\n\n\t<div class=\"tasty-recipes-notes\">\n\t\t<h3 data-tasty-recipes-customization=\"h3-color.color h3-transform.text-transform\">Notes<\/h3>\n\t\t<div class=\"tasty-recipes-notes-body\" data-tasty-recipes-customization=\"body-color.color\">\n\t\t\t<p>If you don&#8217;t have a food processor, you should be able to use a high-powered blender!<\/p>\n\t\t<\/div>\n\t<\/div>\n\n\n\n\n\n<footer class=\"tasty-recipes-entry-footer\">\n\t<h3 data-tasty-recipes-customization=\"footer-heading-color.color h3-transform.text-transform footer-heading.innerText\">Did you make this recipe?<\/h3>\n\t<div data-tasty-recipes-customization=\"footer-description-color.color footer-description.innerHTML\"><p>Tag <a href=\"https:\/\/www.instagram.com\/theleangreenbean\" target=\"_blank\" rel=\"noreferrer noopener\">@theleangreenbean<\/a> on Instagram<\/p><\/div>\n<\/footer>\n\n\n\n<script>\nwindow.trCommon={\"minRating\":6,\"ajaxurl\":\"https:\\\/\\\/www.theleangreenbean.com\\\/wp-admin\\\/admin-ajax.php\",\"ratingNonce\":\"\",\"postId\":39556};\nwindow.TastyRecipes = window.TastyRecipes || {};\n\nwindow.TastyRecipes.smoothScroll = {\ninit() {\ndocument.addEventListener( 'click', ( e ) => {\nlet anchor = e.target;\nif ( anchor.tagName !== 'A' ) {\nanchor = anchor.closest( 'a.tasty-recipes-scrollto' );\n}\n\nif ( ! anchor || ! anchor.classList.contains( 'tasty-recipes-scrollto' ) ) {\nreturn;\n}\n\nconst elementHref = anchor.getAttribute( 'href' );\nif ( ! elementHref ) {\nreturn;\n}\n\ne.preventDefault();\nthis.goToSelector( elementHref );\n});\n},\ngoToSelector( selector ) {\nconst element = document.querySelector( selector );\nif ( ! element ) {\nreturn;\n}\nelement.scrollIntoView( { behavior: 'smooth' } );\n}\n};\n\ndocument.addEventListener(\n'DOMContentLoaded',\n() => window.TastyRecipes.smoothScroll.init()\n);\n\n(function(){\n\n\nvar bothEquals = function( d1, d2, D ) {\nvar ret = 0;\nif (d1<=D) {\nret++;\n}\nif (d2<=D) {\nret++;\n}\nreturn ret === 2;\n};\n\nvar frac =function frac(x,D,mixed){var n1=Math.floor(x),d1=1;var n2=n1+1,d2=1;if(x!==n1){while(bothEquals(d1,d2,D)){var m=(n1+n2)\/(d1+d2);if(x===m){if(d1+d2<=D){d1+=d2;n1+=n2;d2=D+1}else if(d1>d2){d2=D+1;}else {d1=D+1;}break}else if(x<m){n2=n1+n2;d2=d1+d2}else{n1=n1+n2;d1=d1+d2}}}if(d1>D){d1=d2;n1=n2}if(!mixed){return[0,n1,d1];}var q=Math.floor(n1\/d1);return[q,n1-q*d1,d1]};frac.cont=function cont(x,D,mixed){var sgn=x<0?-1:1;var B=x*sgn;var P_2=0,P_1=1,P=0;var Q_2=1,Q_1=0,Q=0;var A=Math.floor(B);while(Q_1<D){A=Math.floor(B);P=A*P_1+P_2;Q=A*Q_1+Q_2;if(B-A<5e-8){break;}B=1\/(B-A);P_2=P_1;P_1=P;Q_2=Q_1;Q_1=Q}if(Q>D){if(Q_1>D){Q=Q_2;P=P_2}else{Q=Q_1;P=P_1}}if(!mixed){return[0,sgn*P,Q];}var q=Math.floor(sgn*P\/Q);return[q,sgn*P-q*Q,Q]};\n\n\nwindow.tastyRecipesVulgarFractions = JSON.parse(decodeURIComponent(\"%7B%22%C2%BC%22%3A%221%2F4%22%2C%22%C2%BD%22%3A%221%2F2%22%2C%22%C2%BE%22%3A%223%2F4%22%2C%22%E2%85%93%22%3A%221%2F3%22%2C%22%E2%85%94%22%3A%222%2F3%22%2C%22%E2%85%95%22%3A%221%2F5%22%2C%22%E2%85%96%22%3A%222%2F5%22%2C%22%E2%85%97%22%3A%223%2F5%22%2C%22%E2%85%98%22%3A%224%2F5%22%2C%22%E2%85%99%22%3A%221%2F6%22%2C%22%E2%85%9A%22%3A%225%2F6%22%2C%22%E2%85%9B%22%3A%221%2F8%22%2C%22%E2%85%9C%22%3A%223%2F8%22%2C%22%E2%85%9D%22%3A%225%2F8%22%2C%22%E2%85%9E%22%3A%227%2F8%22%7D\"));\n\nwindow.tastyRecipesFormatAmount = function(amount, el) {\nif ( parseFloat( amount ) === parseInt( amount ) ) {\nreturn amount;\n}\nvar roundType = 'frac';\nif (typeof el.dataset.amountShouldRound !== 'undefined') {\nif ('false' !== el.dataset.amountShouldRound) {\nif ( 'number' === el.dataset.amountShouldRound ) {\nroundType = 'number';\n} else if ('frac' === el.dataset.amountShouldRound) {\nroundType = 'frac';\n} else if ('vulgar' === el.dataset.amountShouldRound) {\nroundType = 'vulgar';\n} else {\nroundType = 'integer';\n}\n}\n}\nif ('number' === roundType) {\namount = Number.parseFloat(amount).toPrecision(2);\n} else if ('integer' === roundType) {\namount = Math.round(amount);\n} else if ('frac' === roundType || 'vulgar' === roundType) {\nvar denom = 8;\nif (typeof el.dataset.unit !== 'undefined') {\nvar unit = el.dataset.unit;\nif (['cups','cup','c'].includes(unit)) {\ndenom = 4;\nif (0.125 === amount) {\ndenom = 8;\n}\nif (\"0.1667\" === Number.parseFloat( amount ).toPrecision(4)) {\ndenom = 6;\n}\n}\nif (['tablespoons','tablespoon','tbsp'].includes(unit)) {\ndenom = 2;\n}\nif (['teaspoons','teaspoon','tsp'].includes(unit)) {\ndenom = 8;\n}\n}\nvar amountArray = frac.cont( amount, denom, true );\nvar newAmount = '';\nif ( amountArray[1] !== 0 ) {\nnewAmount = amountArray[1] + '\/' + amountArray[2];\nif ('vulgar' === roundType) {\nObject.keys(window.tastyRecipesVulgarFractions).forEach(function(vulgar) {\nif (newAmount === window.tastyRecipesVulgarFractions[vulgar]) {\nnewAmount = vulgar;\n}\n});\n}\n}\nif ( newAmount ) {\nnewAmount = ' ' + newAmount;\n}\nif ( amountArray[0] ) {\nnewAmount = amountArray[0] + newAmount;\n}\namount = newAmount;\n}\nreturn amount;\n};\n\n\nwindow.tastyRecipesUpdatePrintLink = () => {\n\nconst printButton = document.querySelector( '.tasty-recipes-print-button' );\n\n\nif ( ! printButton ) {\nreturn;\n}\n\nconst printURL = new URL( printButton.href );\nconst searchParams = new URLSearchParams( printURL.search );\n\nconst unitButton = document.querySelector( '.tasty-recipes-convert-button-active' );\nconst scaleButton = document.querySelector( '.tasty-recipes-scale-button-active' );\n\nlet unit = '';\nlet scale = '';\n\nif ( unitButton ) {\nunit = unitButton.dataset.unitType;\nsearchParams.delete('unit');\nsearchParams.set( 'unit', unit );\n}\n\nif ( scaleButton ) {\nscale = scaleButton.dataset.amount;\nsearchParams.set( 'scale', scale );\n}\n\nconst paramString = searchParams.toString();\nconst newURL = '' === paramString ? printURL.href : printURL.origin + printURL.pathname + '?' + paramString;\nconst printLinks = document.querySelectorAll( '.tasty-recipes-print-link' );\n\nprintLinks.forEach( ( el ) => {\nel.href = newURL;\n});\n\nconst printButtons = document.querySelectorAll( '.tasty-recipes-print-button' );\nprintButtons.forEach( ( el ) => {\nel.href = newURL;\n});\n};\n\n\ndocument.addEventListener( 'DOMContentLoaded', () => {\n\n\nif ( ! window.location.href.includes( '\/print\/' ) ) {\nreturn;\n}\n\nconst searchParams = new URLSearchParams( window.location.search );\n\nconst unit = searchParams.get( 'unit' );\nconst scale = searchParams.get( 'scale' );\n\nif ( unit && ( 'metric' === unit || 'usc' === unit ) ) {\ndocument.querySelector( '.tasty-recipes-convert-button[data-unit-type=\"' + unit + '\"]' ).click();\n}\n\nif ( scale && Number(scale) > 0 ) {\ndocument.querySelector( '.tasty-recipes-scale-button[data-amount=\"' + Number(scale) + '\"]' ).click();\n}\n});\n}());\n\n(function(){\nvar buttonClass = 'tasty-recipes-scale-button',\nbuttonActiveClass = 'tasty-recipes-scale-button-active',\nbuttons = document.querySelectorAll('.tasty-recipes-scale-button');\nif ( ! buttons ) {\nreturn;\n}\n\nbuttons.forEach(function(button){\nbutton.addEventListener('click', function(event){\nevent.preventDefault();\nvar recipe = event.target.closest('.tasty-recipes');\nif ( ! recipe ) {\nreturn;\n}\nvar otherButtons = recipe.querySelectorAll('.' + buttonClass);\notherButtons.forEach(function(bt){\nbt.classList.remove(buttonActiveClass);\n});\nbutton.classList.add(buttonActiveClass);\n\n\nvar scalables = recipe.querySelectorAll('span[data-amount]');\nvar buttonAmount = parseFloat( button.dataset.amount );\nscalables.forEach(function(scalable){\nif (typeof scalable.dataset.amountOriginalType === 'undefined'\n&& typeof scalable.dataset.nfOriginal === 'undefined') {\nif (-1 !== scalable.innerText.indexOf('\/')) {\nscalable.dataset.amountOriginalType = 'frac';\n}\nif (-1 !== scalable.innerText.indexOf('.')) {\nscalable.dataset.amountOriginalType = 'number';\n}\nObject.keys(window.tastyRecipesVulgarFractions).forEach(function(vulgar) {\nif (-1 !== scalable.innerText.indexOf(vulgar)) {\nscalable.dataset.amountOriginalType = 'vulgar';\n}\n});\nif (typeof scalable.dataset.amountOriginalType !== 'undefined') {\nscalable.dataset.amountShouldRound = scalable.dataset.amountOriginalType;\n}\n}\nvar amount = parseFloat( scalable.dataset.amount ) * buttonAmount;\namount = window.tastyRecipesFormatAmount(amount, scalable);\nif ( typeof scalable.dataset.unit !== 'undefined' ) {\nif ( ! scalable.classList.contains('nutrifox-quantity') ) {\nif ( ! scalable.classList.contains('nutrifox-second-quantity') ) {\namount += ' ' + scalable.dataset.unit;\n}\n}\n}\nscalable.innerText = amount;\n});\n\nvar nonNumerics = recipe.querySelectorAll('[data-has-non-numeric-amount]');\nnonNumerics.forEach(function(nonNumeric){\nvar indicator = nonNumeric.querySelector('span[data-non-numeric-label]');\nif ( indicator ) {\nnonNumeric.removeChild(indicator);\n}\nif ( 1 !== buttonAmount ) {\nindicator = document.createElement('span');\nindicator.setAttribute('data-non-numeric-label', true);\nvar text = document.createTextNode(' (x' + buttonAmount + ')');\nindicator.appendChild(text);\nnonNumeric.appendChild(indicator);\n}\n});\n\nwindow.tastyRecipesUpdatePrintLink();\n});\n});\n}());\n\nwindow.TastyRecipes = window.TastyRecipes || {};\nwindow.TastyRecipes.cookMode = {\nwakeLockApi: false,\nwakeLock: false,\ncookModeSelector: '.tasty-recipes-cook-mode',\ninit() {\nif (\"wakeLock\" in navigator && \"request\" in navigator.wakeLock) {\nthis.wakeLockApi = navigator.wakeLock;\n}\n\nconst cookModes = document.querySelectorAll(this.cookModeSelector);\n\nif (cookModes.length > 0) {\nfor (const cookMode of cookModes) {\nif (this.wakeLockApi) {\ncookMode.querySelector('input[type=\"checkbox\"]').addEventListener(\"change\", event => {\nthis.checkboxChange(event.target);\n}, false);\n} else {\ncookMode.style.display = \"none\";\n}\n}\n}\n},\ncheckboxChange(checkbox) {\nif (checkbox.checked) {\nthis.lock();\n} else {\nthis.unlock();\n}\n},\nsetCheckboxesState(state) {\nconst checkboxes = document.querySelectorAll(this.cookModeSelector + ' input[type=\"checkbox\"]');\nfor (const checkbox of checkboxes) {\ncheckbox.checked = state;\n}\n},\nasync lock() {\ntry {\nthis.wakeLock = await this.wakeLockApi.request(\"screen\");\nthis.wakeLock.addEventListener(\"release\", () => {\nthis.wakeLock = false;\nthis.setCheckboxesState(false);\n});\nthis.setCheckboxesState(true);\n} catch (error) {\nthis.setCheckboxesState(false);\n}\n},\nunlock() {\nif (this.wakeLock) {\nthis.wakeLock.release();\nthis.wakeLock = false;\n}\nthis.setCheckboxesState(false);\n}\n};\n\n(function(callback) {\nif (document.readyState !== \"loading\") {\ncallback();\n} else {\ndocument.addEventListener(\"DOMContentLoaded\", callback);\n}\n})(() => {\nwindow.TastyRecipes.cookMode.init();\n});\n\n\n\nwindow.TastyRecipes = window.TastyRecipes || {};\n\nwindow.TastyRecipes.staticTooltip = {\nelement: null,\ntooltipElement: null,\ndeleting: false,\ninit( element ) {\nif ( this.deleting ) {\nreturn;\n}\nthis.element = element;\nthis.buildElements();\n},\ndestroy() {\nif ( ! this.tooltipElement || this.deleting ) {\nreturn;\n}\n\nthis.deleting = true;\nthis.tooltipElement.classList.remove( 'opened' );\n\nsetTimeout( () => {\nthis.tooltipElement.remove();\nthis.deleting = false;\n}, 500 );\n},\nbuildElements() {\nconst tooltipElement = document.createElement( 'div' );\ntooltipElement.classList.add( 'tasty-recipes-static-tooltip');\ntooltipElement.setAttribute( 'id', 'tasty-recipes-tooltip' );\n\nconst currentTooltipElement = document.getElementById( 'tasty-recipes-tooltip' );\nif ( currentTooltipElement ) {\ndocument.body.replaceChild( tooltipElement, currentTooltipElement );\n} else {\ndocument.body.appendChild( tooltipElement );\n}\n\nthis.tooltipElement = document.getElementById( 'tasty-recipes-tooltip' );\n},\nshow() {\nif ( ! this.tooltipElement ) {\nreturn;\n}\n\nconst tooltipTop = this.element.getBoundingClientRect().top\n+ window.scrollY\n- 10 \/\/ 10px offset.\n- this.tooltipElement.getBoundingClientRect().height;\nconst tooltipLeft = this.element.getBoundingClientRect().left\n- ( this.tooltipElement.getBoundingClientRect().width \/ 2 )\n+ ( this.element.getBoundingClientRect().width \/ 2 ) - 1;\nconst posLeft = Math.max( 10, tooltipLeft );\nthis.maybeRemoveTail( posLeft !== tooltipLeft );\n\nthis.tooltipElement.setAttribute( 'style', 'top:' + tooltipTop + 'px;left:' + posLeft + 'px;' );\nthis.tooltipElement.classList.add( 'opened' );\n\n},\nmaybeRemoveTail( removeTail ) {\nif ( removeTail ) {\nthis.tooltipElement.classList.add( 'tr-hide-tail' );\n} else {\nthis.tooltipElement.classList.remove( 'tr-hide-tail' );\n}\n},\nchangeMessage( message ) {\nif ( ! this.tooltipElement ) {\nreturn;\n}\nthis.tooltipElement.innerHTML = message;\n}\n};\n\nwindow.TastyRecipes.ajax = {\nsendPostRequest( url, data, success, failure ) {\nconst xhr = new XMLHttpRequest();\nxhr.open( 'POST', url, true );\nxhr.send( this.preparePostData( data ) );\n\nxhr.onreadystatechange = () => {\nif ( 4 !== xhr.readyState ) {\nreturn;\n}\nif ( xhr.status === 200 ) {\nsuccess( JSON.parse( xhr.responseText ) );\nreturn;\n}\n\nfailure( xhr );\n};\n\nxhr.onerror = () => {\nfailure( xhr );\n};\n},\npreparePostData( data ) {\nconst formData = new FormData();\n\nfor ( const key in data ) {\nformData.append( key, data[key] );\n}\nreturn formData;\n},\n};\n\nwindow.TastyRecipes.ratings = {\ndefaultRating: 0,\ncurrentRatingPercentage: 100,\nsavingRating: false,\ninit( minRating ) {\nthis.minRating = minRating;\n\nthis.formWatchRating();\nthis.closeTooltipWhenClickOutside();\nthis.addBodyClassBasedOnSelectedRating();\nthis.backwardCompFormRatingPosition();\n},\nformWatchRating() {\nconst ratings = document.querySelectorAll('.tasty-recipes-no-ratings-buttons [data-rating]');\nif ( ratings.length <= 0 ) {\nreturn;\n}\nfor ( const rating of ratings ) {\nrating.addEventListener( 'click', event => {\nevent.preventDefault();\nthis.defaultRating = event.target.closest( '.checked' ).dataset.rating;\nthis.setCheckedStar( event.target );\nthis.maybeSendRating( this.defaultRating, event.target );\nthis.setRatingInForm( this.defaultRating );\n} );\n}\n},\ncloseTooltipWhenClickOutside() {\nwindow.addEventListener( 'click', e => {\n\/\/ Bailout (don't remove the tooltip) when the clicked element is a rating star, or it's the tooltip itself.\nif ( e.target.closest( '.tasty-recipes-rating' ) || e.target.classList.contains( 'tasty-recipes-static-tooltip' ) ) {\nreturn;\n}\n\nwindow.TastyRecipes.staticTooltip.destroy();\n} );\n},\n setRatingInForm( rating ) {\nconst ratingInput = document.querySelector( '#respond .tasty-recipes-rating[value=\"' + rating + '\"]' );\nif ( ! ratingInput ) {\nreturn;\n}\nratingInput.click();\n},\naddBodyClassBasedOnSelectedRating() {\nconst ratingInputs = document.querySelectorAll( 'input.tasty-recipes-rating' );\nif ( ! ratingInputs ) {\nreturn;\n}\nfor ( const ratingInput of ratingInputs ) {\nratingInput.addEventListener( 'click', currentEvent => {\nconst selectedRating = currentEvent.target.getAttribute( 'value' );\nthis.handleBodyClassByRating( selectedRating );\nthis.toggleCommentTextareaRequired( selectedRating );\n} );\n}\n},\nhandleBodyClassByRating( rating ) {\nif ( rating < this.minRating ) {\ndocument.body.classList.remove( 'tasty-recipes-selected-minimum-rating' );\nreturn;\n}\ndocument.body.classList.add( 'tasty-recipes-selected-minimum-rating' );\n},\ntoggleCommentTextareaRequired( rating ) {\nconst commentTextarea = document.getElementById( 'comment' );\nif ( ! commentTextarea ) {\nreturn;\n}\n\nif ( rating < this.minRating ) {\ncommentTextarea.setAttribute( 'required', '' );\nreturn;\n}\n\ncommentTextarea.removeAttribute( 'required' );\n},\nmaybeSendRating( rating, element ) {\nif ( this.savingRating === rating ) {\nreturn;\n}\n\nthis.savingRating = rating;\nwindow.TastyRecipes.staticTooltip.init( element );\n\nconst recipeCardElement = element.closest( '.tasty-recipes' );\nif ( ! recipeCardElement ) {\nwindow.TastyRecipes.staticTooltip.destroy();\nreturn;\n}\n\nwindow.TastyRecipes.ajax.sendPostRequest(\nwindow.trCommon.ajaxurl,\n{\naction: 'tasty_recipes_save_rating',\nrating,\nnonce: window.trCommon.ratingNonce,\npost_id: window.trCommon.postId,\nrecipe_id: recipeCardElement.dataset.trId,\n},\n( response ) => {\nwindow.TastyRecipes.staticTooltip.changeMessage( response.data.message );\nwindow.TastyRecipes.staticTooltip.show();\nthis.updateAverageText( response.data, recipeCardElement );\nthis.maybeFillCommentForm( response.data );\n\n\/\/ Hide the tooltip after 5 seconds.\nsetTimeout( () => {\nthis.maybeResetTooltip( recipeCardElement, response.data, rating );\n}, 5000 );\n},\n() => {\nthis.resetTooltip( recipeCardElement );\n}\n);\n},\nupdateAverageText( data, recipeCardElement ) {\nif ( ! data.average ) {\nreturn;\n}\nthis.setRatingPercent( data );\n\nif ( ! data.count ) {\nreturn;\n}\n\nconst quickLink = document.querySelector( '.tasty-recipes-rating-link' );\nif ( quickLink ) {\nthis.setTextInContainer( quickLink, data );\nthis.setPartialStar( quickLink );\n}\n\nconst cardStars = recipeCardElement.querySelector( '.tasty-recipes-ratings-buttons' );\ncardStars.dataset.trDefaultRating = data.average;\nthis.setTextInContainer( recipeCardElement.querySelector( '.tasty-recipes-rating' ), data );\n},\nsetTextInContainer( container, data ) {\nif ( ! container ) {\nreturn;\n}\n\nif ( data.label ) {\nconst ratingLabelElement = container.querySelector( '.rating-label' );\nif ( ratingLabelElement ) {\nratingLabelElement.innerHTML = data.label;\n}\nreturn;\n}\n\nconst averageElement = container.querySelector( '.average' );\nif ( averageElement ) {\naverageElement.textContent = data.average;\n}\n\nconst countElement = container.querySelector( '.count' );\nif ( countElement ) {\ncountElement.textContent = data.count;\n}\n},\nsetPartialStar( container ) {\nconst highestStar = container.querySelector( '[data-rating=\"' + Math.ceil( this.defaultRating ) + '\"]' );\nif ( highestStar ) {\nhighestStar.dataset.trClip = this.currentRatingPercentage;\n}\n},\nsetRatingPercent( data ) {\nthis.defaultRating = data.average.toFixed( 1 );\nconst parts = data.average.toFixed( 2 ).toString().split( '.' );\nthis.currentRatingPercentage = parts[1] ? parts[1] : 100;\nif ( this.currentRatingPercentage === '00' ) {\nthis.currentRatingPercentage = 100;\n}\n},\nsetCheckedStar( target ) {\nconst cardRatingContainer = target.closest( '.tasty-recipes-ratings-buttons' );\nconst selectedRatingElement = cardRatingContainer.querySelector( '[data-tr-checked]' );\nif ( selectedRatingElement ) {\ndelete selectedRatingElement.dataset.trChecked;\n}\n\nconst thisStar = target.closest( '.tasty-recipes-rating' );\nthisStar.dataset.trChecked = 1;\nthisStar.querySelector( '[data-tr-clip]' ).dataset.trClip = 100;\n},\nmaybeFillCommentForm( data ) {\nif ( ! data.comment || ! data.comment.content ) {\nreturn;\n}\n\nconst commentForm = document.querySelector( '#commentform' );\nif ( ! commentForm ) {\nreturn;\n}\n\nconst commentBox = commentForm.querySelector( '[name=comment]' );\nif ( ! commentBox || commentBox.value ) {\nreturn;\n}\n\n\/\/ Add comment details for editing.\ncommentBox.innerHTML = data.comment.content;\nif ( data.comment.name ) {\ncommentForm.querySelector( '[name=author]' ).value = data.comment.name;\ncommentForm.querySelector( '[name=email]' ).value = data.comment.email;\n}\n},\nmaybeResetTooltip( recipeCardElement, data, rating ) {\nif ( this.savingRating === rating ) {\nthis.resetTooltip( recipeCardElement, data );\n}\n},\nresetTooltip( recipeCardElement, data ) {\nwindow.TastyRecipes.staticTooltip.destroy();\nthis.savingRating = false;\n\n\/\/ Reset the default rating.\nconst cardRatingContainer = recipeCardElement.querySelector( '.tasty-recipes-ratings-buttons' );\nif ( cardRatingContainer ) {\nthis.defaultRating = ( data && data.average ) ? data.average.toFixed(1) : cardRatingContainer.dataset.trDefaultRating;\ncardRatingContainer.dataset.trDefaultRating = this.defaultRating;\n\nthis.resetSelectedStar( cardRatingContainer, data );\n}\n},\nresetSelectedStar( cardRatingContainer ) {\nconst selectedRatingElement = cardRatingContainer.querySelector( '[data-rating=\"' + Math.ceil( this.defaultRating ) + '\"]' );\nif ( selectedRatingElement ) {\nselectedRatingElement.querySelector( '[data-tr-clip]' ).dataset.trClip = this.currentRatingPercentage;\nselectedRatingElement.parentNode.dataset.trChecked = 1;\n}\n\nconst previousSelectedElement= cardRatingContainer.querySelector( '[data-tr-checked]' );\nif ( previousSelectedElement ) {\nconst currentSelectedRating = previousSelectedElement.querySelector('[data-rating]');\nif ( currentSelectedRating !== selectedRatingElement ) {\ndelete previousSelectedElement.dataset.trChecked;\n}\n}\n},\nbackwardCompFormRatingPosition() {\nconst ratingsButtons = document.querySelector( '#respond .tasty-recipes-ratings-buttons, #tasty-recipes-comment-rating .tasty-recipes-ratings-buttons' );\nif ( ! ratingsButtons ) {\nreturn;\n}\nconst ratingsButtonsStyles = window.getComputedStyle(ratingsButtons);\nif ( ! ratingsButtonsStyles.display.includes( 'flex' ) ) {\nratingsButtons.style.direction = 'rtl';\n}\n\nif ( typeof tastyRecipesRating !== 'undefined' ) {\n\/\/ Select the rating that was previously selected in admin.\nratingsButtons.querySelector( '.tasty-recipes-rating[value=\"' + tastyRecipesRating + '\"]' ).checked = true;\n}\n\nconst ratingSpans = ratingsButtons.querySelectorAll( '.tasty-recipes-rating' );\nfor (const ratingSpan of ratingSpans) {\nratingSpan.addEventListener( 'click', event => {\nif ( ratingSpan === event.target ) {\nreturn;\n}\nratingSpan.previousElementSibling.click();\n} );\n}\n}\n};\n\n(function(callback) {\nif (document.readyState !== \"loading\") {\ncallback();\n} else {\nwindow.addEventListener( 'load', callback );\n}\n})(() => {\nwindow.TastyRecipes.ratings.init( window.trCommon ? window.trCommon.minRating : 4 );\n});\n<\/script><\/div>\n\n\n<p>Thanks to a food processor, these come together super quickly!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Black Bean Brownies Meal Prep Ideas:<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Make a double batch and freeze half for a busy week!<\/li>\n\n\n\n<li>Serve for breakfast with some yogurt or a glass of milk. <\/li>\n\n\n\n<li>Pack in lunch box with a sandwich, fruit and some crackers.<\/li>\n\n\n\n<li>Set out a plate for an easy after school snack.<\/li>\n\n\n\n<li>Serve warm with ice cream for dessert!<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Healthy Black Bean Brownies FAQs<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Can I make these brownies in a muffin tin?<\/h3>\n\n\n\n<p>Yes! These work great as muffins. You&#8217;ll have to play around with the cooking time depending on the size of your muffins but I would start checking them around 15 minutes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Can black bean brownies be frozen?<\/h3>\n\n\n\n<p>Yes! Cool completely and cut into squares. Then transfer to a freezer-safe bag and freeze up to 3 months. To thaw, simply take them out and let them thaw on the counter.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">How to store black bean brownies\/Should you refrigerate black bean brownies?<\/h3>\n\n\n\n<p>I store mine on the counter for up to 3 days. After that I transfer to the fridge but you can store them in the fridge from the beginning if you want.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Are black bean brownies good for diabetics?<\/h3>\n\n\n\n<p>This recipe works well for my husband who is a type one diabetic. While there&#8217;s still sugar in the recipe, the beans add some protein and fiber to help reduce the insulin spike. You could also try replacing the maple syrup with a sugar alternative. <a href=\"https:\/\/www.theleangreenbean.com\/sugar-substitutes\/\" data-type=\"post\" data-id=\"41722\">Read more about sugar alternatives here<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Are low sugar black bean brownies healthier?<\/h3>\n\n\n\n<p>Just because brownies have black beans doesn&#8217;t automatically make them healthy. But this particular recipe is healthier than a lot of brownie recipes. It contains a whole can of black beans and is fairly low in added sugar.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">What are good substitutes for black beans in brownies? Can I substitute the black beans for white beans?<\/h3>\n\n\n\n<p>I have not tried white beans for this particular recipe, but I do have several recipes baking with white beans and they always work great so I think it&#8217;s safe to say you could use white beans in this recipe. I typically use great northern beans in baking.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Can I substitute black beans for kidney beans?<\/h3>\n\n\n\n<p>Again, I haven&#8217;t tried it, but I think kidney beans have a fairly mild flavor that could easily be hidden by the cocoa powder so I think it&#8217;s worth a try!<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\">Kid-Friendly Black Bean Brownies<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"1500\" src=\"https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2022\/02\/black-bean-brownies.png\" alt=\"This Healthy Black Bean Brownies recipe is kid-friendly, full of fiber and perfect for a snack or dessert!\" class=\"wp-image-39563\" title=\"\" srcset=\"https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2022\/02\/black-bean-brownies.png 600w, https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2022\/02\/black-bean-brownies-80x200.png 80w, https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2022\/02\/black-bean-brownies-220x550.png 220w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">Need more healthy dessert ideas?<\/h2>\n\n\n\n<p>Want more dessert ideas? Try:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.theleangreenbean.com\/microwave-sweet-potato-mug-cake\/\">No-Bake Carrot Cake Bars<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.theleangreenbean.com\/peanut-butter-hemp-cookies\/\">Peanut Butter Hemp Cookies<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.theleangreenbean.com\/chickpea-buckeyes\/\">Easy Chickpea Buckeyes<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.theleangreenbean.com\/microwave-sweet-potato-mug-cake\/\">Microwave Sweet Potato Mug Cake<\/a><\/li>\n<\/ul>\n\n\n\n<p>These black bean brownies are an easy, kid-friendly snack. They are budget-friendly, lower in added sugar and higher in fiber than traditional brownies.<\/p>\n\n\n\n<p>Enjoy!<br>&#8211;Lindsay&#8211;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>These Easy Healthy Black Bean Brownies are kid-friendly, easy to make and full of fiber. They perfect for a healthy snack or dessert! *Originally posted 2\/22. Updated 11\/24* These black bean brownies are perfect for busy moms who want to add some extra protein and fiber to a healthy, kid-friendly snack. They&#8217;re made with simple [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":39559,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[77,72,254,73],"tags":[163,162,189,123,159,129,160],"class_list":{"0":"post-39556","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-baking","8":"category-dessert","9":"category-healthy-muffins-bars","10":"category-snack","11":"tag-black-bean","12":"tag-chocolate-chips","13":"tag-cocoa-powder","14":"tag-egg","15":"tag-maple-syrup","16":"tag-oil","17":"tag-white-whole-wheat-flour","18":"entry"},"_links":{"self":[{"href":"https:\/\/www.theleangreenbean.com\/wp-json\/wp\/v2\/posts\/39556","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.theleangreenbean.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.theleangreenbean.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.theleangreenbean.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.theleangreenbean.com\/wp-json\/wp\/v2\/comments?post=39556"}],"version-history":[{"count":17,"href":"https:\/\/www.theleangreenbean.com\/wp-json\/wp\/v2\/posts\/39556\/revisions"}],"predecessor-version":[{"id":73878,"href":"https:\/\/www.theleangreenbean.com\/wp-json\/wp\/v2\/posts\/39556\/revisions\/73878"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.theleangreenbean.com\/wp-json\/wp\/v2\/media\/39559"}],"wp:attachment":[{"href":"https:\/\/www.theleangreenbean.com\/wp-json\/wp\/v2\/media?parent=39556"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.theleangreenbean.com\/wp-json\/wp\/v2\/categories?post=39556"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.theleangreenbean.com\/wp-json\/wp\/v2\/tags?post=39556"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}