Homebrew Beer Recipes | Page 13933 | Browse 310,000+ at Brewer's Friend
Brew your best beer EVER. Start your Free Trial of Brewer's Friend today! Sign Up ×

Homebrew Beer Recipes

Page 13933 of our growing list of 310,000+ homebrew beer recipes. Sort by beer style, batch size, ABV and more for all-grain, extract or partial mash brewing.

Browse All Recipes or explore by brewing method: All-grain | Extract | BIAB | Partial Mash

Title Style Size OG FG ABV IBU Color Views Brewed Rating
LCIPA Planning American IPA 21 Litres 1.066 1.016 6.49 56.25 9.12 °L
196 0
Sorachi Ace American IPA 5.5 Gallons 1.068 1.015 6.94 23.97 9.62 °L
196 0
Ipa American IPA 22 Litres 1.059 1.011 6.38 24.98 3.87 °L
196 0
Centennial IPA American IPA 6 Gallons 1.06 1.013 6.16 82.34 7.84 °L
196 0
Pacific Jade By TCT American IPA 28 Litres 1.059 1.017 5.74 43.01 6.3 °L
196 0
IPA BELGA Specialty IPA: Belgian IPA 6 Litres 1.072 1.016 7.3 52.99 6.5 °L
196 0
West Coast IPA American IPA 155 Gallons 1.07 1.016 7.05 0 4.68 °L
196 0
Awesome Recipe American IPA 20.8 Litres 1.059 1.015 5.79 36.74 14.88 °L
196 0
Cold, Dark & Bitter Specialty IPA: Black IPA 4 Gallons 1.06 1.012 6.31 55.17 33.01 °L
196 0
IPA DUKE V2 American IPA 50 Litres 1.058 1.012 6.11 53.69 11.91 °L
196 0
Awesome Recipe Specialty IPA: Red IPA 40 Litres 1.042 1.011 4.17 52.85 50 °L
196 0
1641cc American IPA 155 Gallons 1.063 1.016 6.18 53.27 5.75 °L
196 0
Sim-cold Cold IPA American IPA 310 Gallons 1.063 1.016 6.19 38.4 4.26 °L
196 0
Vienna IPA American IPA 500 Litres 1.058 1.014 5.66 0 5.47 °L
196 0
Marble Red IPA Original Specialty IPA: Red IPA 30 Litres 1.074 1.014 7.83 155.7 12.28 °L
196 0
Black IPA Specialty IPA: Black IPA 20 Litres 1.064 1.016 6.28 129.72 29.8 °L
196 0
Do You Even Citra, Bro? American IPA 12 Gallons 1.079 1.021 7.51 68.27 4.93 °L
196 1
Awesome Recipe American IPA 30 Litres 1.076 1.019 7.52 0 5.2 °L
196 0
Awesome Recipe American IPA 80 Litres 1.052 1.013 5.13 0 3.44 °L
196 0
Awesome Recipe Specialty IPA: Black IPA 5.5 Gallons 1.073 1.017 7.35 83.02 39.6 °L
196 0

Defer( function () { $(document).ready(function() { if ( ! document.cookie.match(/^(.*;)?\s*bf_adfpv_v1\s*=\s*[^;]+(.*)?$/) ) { var date = new Date(); var now = new Date(); date.setTime(date.getTime()+(10*365*24*60*60*1000)); var expires = "; expires="+date.toGMTString(); document.cookie = "bf_adfpv_v1="+now.toGMTString()+expires+"; path=/"; } else { // Initialize AdSense (adsbygoogle = window.adsbygoogle || []); // Affiliate ad override configuration from PHP var affiliateOverrides = {"top-leaderboard-ad":{"total_percentage":25,"options":[{"name":"House Ad","weight":1,"href":"\/homebrew\/signup","img":"\/homebrew\/images\/houseads_20211207\/take10_signup\/webp\/810X100.webp","width":810,"height":100}]},"inline-unit-ad":{"total_percentage":25,"options":[{"name":"House Ad","weight":1,"href":"\/homebrew\/signup","img":"\/homebrew\/images\/houseads_20211207\/take10_signup\/webp\/810X100.webp","width":810,"height":100}]},"sidebar-block-1-ad":{"total_percentage":25,"options":[{"name":"House Ad","weight":1,"href":"\/homebrew\/signup","img":"\/homebrew\/images\/houseads_20211207\/take10_signup\/webp\/300x250.webp","width":300,"height":250}]}}; // Process each potential ad override if (affiliateOverrides && Object.keys(affiliateOverrides).length > 0) { Object.keys(affiliateOverrides).forEach(function(adSlotId) { var override = affiliateOverrides[adSlotId]; var adElement = document.getElementById(adSlotId); // Check if ad exists and should be replaced based on total percentage if (adElement && override.options && override.options.length > 0 && (Math.random() * 100 < override.total_percentage)) { // Choose an option based on weights var option = chooseWeightedOption(override.options); // Build affiliate ad HTML var style = option.style || ''; if (option.width && option.height) { style += (style ? '; ' : '') + 'max-width:100%;'; } var attributes = ''; if (option.target) attributes += ' target="' + option.target + '"'; if (option.rel) attributes += ' rel="' + option.rel + '"'; var affiliateAdHtml = '
' + '' + '' + '
'; // Replace the AdSense container with affiliate ad $(adElement).closest('ins.adsbygoogle').replaceWith(affiliateAdHtml); } }); } // Helper function to select a weighted random option function chooseWeightedOption(options) { if (!options || options.length === 0) { // This case implies an issue with how options are passed or an empty configuration. // Returning undefined is safer than the original's options[0] which would error. return undefined; } var eligibleOptions = []; var totalPositiveWeight = 0; // First pass: Collect options with strictly positive weights and sum these weights. for (var i = 0; i < options.length; i++) { var option = options[i]; // Ensure weight is treated as a number; default undefined/non-numeric to 0. var weight = (typeof option.weight === 'number') ? option.weight : 0; if (weight > 0) { eligibleOptions.push(option); totalPositiveWeight += weight; } } if (totalPositiveWeight > 0) { // If there are options with positive weights, choose from them. var randomValue = Math.random() * totalPositiveWeight; var cumulativeWeight = 0; for (var j = 0; j < eligibleOptions.length; j++) { // eligibleOptions[j].weight is guaranteed to be > 0 here. cumulativeWeight += eligibleOptions[j].weight; if (randomValue <= cumulativeWeight) { return eligibleOptions[j]; } } // Fallback for rare floating-point precision issues or if randomValue is exactly totalPositiveWeight. // Returning the last eligible option is a robust choice here. return eligibleOptions[eligibleOptions.length - 1]; } else { // No options with positive weight were found. // This means all original options had weights <= 0 (e.g., all zeros or empty list of positive weights). // In this scenario, pick one randomly from the original 'options' list, // giving all of them an equal chance. return options[Math.floor(Math.random() * options.length)]; } } // Initialize all remaining AdSense ads $("ins.adsbygoogle").each(function() { $("(adsbygoogle = window.adsbygoogle || []).push({})").insertAfter($(this)); }); var js = document.createElement("script"); js.type = "text/javascript"; js.async = true; js.src = "https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"; document.body.appendChild(js); } }); });