This home made chocolate bark recipe options darkish chocolate topped with cranberries, pistachios, and coconut for a candy and salty deal with. Right here’s tips on how to mood chocolate for the right snappy texture and shiny shine.

As a serious chocoholic, so certainly one of my prime treats to make is Chocolate Bark! It’s so easy to make, and I really like topping it with a candy and salty confetti. It’s the most effective wholesome dessert that’s additionally enjoyable to make as a present or for a Christmas cookie platter.
I like utilizing cranberries, pistachios, coconut and sea salt for the toppings, however it’s completely as much as you! Right here’s tips on how to make the right chocolate bark: with a clean sheen on the chocolate and simply the proper crisp snap whenever you chunk into it.
Why Tempering Makes All of the Distinction
Some folks don’t mood chocolate for his or her chocolate bark, however I’ve discovered it makes a distinction. Tempered chocolate has a shiny sheen, stays agency at room temperature, and snaps cleanly whenever you break it. With out tempering, you may find yourself with chocolate with a uninteresting shade, and it will possibly develop white streaks after storage (known as chocolate bloom: which has occurred to me greater than as soon as!).
The method entails heating chocolate to a selected temperature, cooling it down, then warming it barely once more. It’s not my favourite factor to do (it’s a bit finicky), however the texture is all value it.
Selecting Components for Chocolate Bark
Right here’s what you’ll want for this chocolate bark recipe:
- Prime quality semi candy or 60% darkish chocolate: I’ve discovered that 60% darkish chocolate has the most effective taste. Though I’m an enormous darkish chocolate fan, 70% is a bit too bittersweet. The upper high quality the chocolate, the higher the flavour!
- Dried cranberries: Convey tart sweetness that cuts by way of the richness of darkish chocolate. I additionally love the intense shade.
- Pistachios: Add a buttery crunch and beautiful inexperienced shade.
- Giant coconut flakes: Add an intruiging taste and a confetti look.
- Sea salt or smoked sea salt: I’m an enormous fan of salty and candy. In the event you use smoked salt, it’s the key ingredient that makes everybody ask for the recipe.

How one can mood chocolate
Chocolate is temperamental: interval! As I discussed above, tempering is a particular course of that heats and cools the chocolate to stabilize it for making candies. It makes probably the most secure texture, shiny exterior, and avoids the white “bloom” that may seem on chocolate throughout storage. Listed here are a couple of notes on tempering chocolate:
- You’ll want a meals thermometer and a small saucepan of barely simmering water. The important thing rule: by no means let a single drop of water contact your chocolate, or it is going to seize right into a grainy mess.
- Soften two-thirds of your chopped chocolate by holding a bowl over the simmering water till it reaches 108-115°F. Take away it from warmth and stir within the remaining unmelted chocolate items: these are known as “seed” items, they usually assist the melted chocolate crystallize correctly because it cools to 85-86°F. Then, heat it again up till it reaches 90-91°F. You then’re able to make chocolate bark!
In the event you don’t have a meals thermometer or need to skip this step, you may nonetheless make good chocolate bark. It simply received’t have that good sheen and snap.

Chocolate Bark Combine In Concepts
When you’ve made it by way of the chocolate stage, making chocolate bark is a breeze! For this bark I used cranberries, pistachios, coconut and smoked salt. To me, the mixture of candy, salty, crunchy, tropical and smoky is perfection!
The smoked salt isn’t required, but when yow will discover it, it provides a singular component (if not, use sea salt). In fact, you should use any sort of mix-ins you want. Listed here are a couple of extra concepts on the subject of chocolate bark toppings:
- Nuts like pistachios, walnuts, cashews, pecans, hazelnuts
- Seeds like pumpkin seeds or sesame seeds
- Dried fruit like dried cranberries, dried cherries, apricots, dried blueberries, freeze dried strawberries (excellent for a Valentine’s Day model)
- Crystalized ginger
- Pretzels damaged into items
- Peppermint candies, crushed
- Chopped candies of any variety
- Crushed potato chips
- Sprinkles

Serving and Gifting Concepts
As soon as your chocolate bark is ready and damaged into irregular items, it’s an incredible addition to vacation cookie platters. You can even add items to plastic luggage and tie them with ribbons for enjoyable items.
For dinner events, chocolate bark is nice served with espresso martinis or as a part of a dessert board with chocolate mousse and recent berries.
Storage Ideas
Tempered chocolate is secure at room temperature, however I discover chocolate bark stays freshest when saved within the fridge or freezer. Maintain the bark in an hermetic container with parchment paper in between layers to stop sticking. It’s going to last as long as 3 weeks refrigerated or 3 months frozen.

Dietary Notes
This chocolate bark recipe is vegetarian, vegan, plant-based, dairy-free and gluten-free.
Simple Chocolate Bark Recipe
This home made chocolate bark recipe options darkish chocolate topped with cranberries, pistachios, and coconut for a candy and salty deal with. Right here’s tips on how to mood chocolate for the right snappy texture and shiny shine.
- Prep Time: half-hour
- Prepare dinner Time: 0 minutes
- Complete Time: half-hour
- Yield: About 32 items
- Class: Dessert
- Methodology: Tempering
- Delicacies: Dessert
- Weight loss program: Vegan
Components
- 12 ounces semi-sweet or darkish chocolate (50% to 60%)
- ⅓ cup dried cranberries
- ⅓ cup chopped pistachios
- ⅓ cup massive coconut flakes
- ½ teaspoon chunky sea salt (or smoked sea salt)*
Directions
Observe: In the event you don’t have a meals thermometer, merely soften the chocolate over a double boiler per the directions beneath, then proceed to Step 5.
- Prep: Begin a small saucepan of barely simmering water. Chop the chocolate into 1/2-inch chunks. In a heat-proof bowl that’s fully dry that may match over the pan of simmering water, add about 2/3 of the chocolate chunks. We used a small metallic bowl; you may also use a double boiler in case you have one. Ensure that to not get any water into the chocolate, since it is going to trigger the chocolate to grab up! (There are fixes for seized chocolate however it’s not fairly.)
- Soften the chocolate to a temperature of 108 to 115°F: Maintain the bowl with the chocolate above the opposite saucepan with boiling water to create a double boiler (or use your double boiler). Place a towel on counter subsequent to the range so that you could switch the bowl to the counter as crucial and keep away from any water entering into the bowl. Maintain the bowl of chocolate over the simmering water for a couple of seconds, till the chocolate begins to soften. Take away from the bowl to the towel and stir and stir to proceed melting. Examine the temperature with a meals thermometer, and proceed going backwards and forwards from the water for a couple of seconds to the towel till totally melted. The goal temperature is 108 to 115°F, however don’t enable the chocolate to go larger than 115°F.
- Add the unmelted chocolate and cut back to 85 to 86°F: As soon as the chocolate is totally melted and at 108 to 115°F, add the remaining third of the unmelted chocolate (known as seed chocolate) and stir always till it melts and the chocolate temperature falls to 85 to 86°F. This can take as much as 10 minutes, however it’s definitely worth the wait! Stir repeatedly for your complete time to make sure a fair temperature. (Whereas it melts, you may chop the pistachios.)
- Warmth again to 90 to 91°F: When the chocolate is 85°F, return the bowl of chocolate to above the pan of simmering water for a pair seconds at a time till climbs again to 90 to 91°F. Now the chocolate is tempered!
- Add mix-ins and unfold in a skinny layer: Add half the cranberries, chopped pistachios and coconut flakes to the melted chocolate and stir till totally mixed. Line a baking sheet with parchment paper. Utilizing a spatula, unfold the chocolate combination over the parchment paper in a fair layer to a measurement of about 8″ by 11″. Sprinkle the remaining toppings excessive, crushing the coconut and chunky sea salt together with your fingers to make smaller items.
- Refrigerate: Refrigerate at half-hour till hardened. When onerous, reduce into irregular 2 to three inch items with a butter knife. Retailer in an hermetic container at refrigerated for as much as 3 weeks or frozen for 3 months.
Notes
Storage notes: Tempered chocolate is secure at room temperature, however I discover chocolate bark stays freshest when saved within the fridge or freezer. Maintain the bark in an hermetic container with parchment paper in between layers to stop sticking. It’s going to last as long as 3 weeks refrigerated or 3 months frozen.
Combine-in concepts: See the “Combine-in Concepts” part above for extra. I really like this bark with almonds and freeze dried strawberries.Â
(perform(){
window.addEventListener( ‘message’, perform( occasion ){
if ( ( ‘https://nutrifox.com’ !== occasion.origin && ‘https://nutrifox.check’ !== occasion.origin ) ||
typeof occasion.knowledge !== ‘string’ ) {
return;
}
var payload = JSON.parse( occasion.knowledge );
swap ( payload.occasion ) {
case ‘setHeight’:
var iframe = doc.getElementById( ‘nutrifox-label-‘ + payload.recipeId );
iframe.fashion.peak = payload.peak + ‘px’;
break;
}
} );
}());
window.trCommon={“minRating”:6,”ajaxurl”:”https://www.acouplecooks.com/wp-admin/admin-ajax.php”,”ratingNonce”:””,”postId”:119500};
window.TastyRecipes = window.TastyRecipes || {};
window.TastyRecipes.smoothScroll = {
init() {
doc.addEventListener( ‘click on’, ( e ) => {
let anchor = e.goal;
if ( anchor.tagName !== ‘A’ ) {
anchor = anchor.closest( ‘a.tasty-recipes-scrollto’ );
}
if ( ! anchor || ! anchor.classList.incorporates( ‘tasty-recipes-scrollto’ ) ) {
return;
}
const elementHref = anchor.getAttribute( ‘href’ );
if ( ! elementHref ) {
return;
}
e.preventDefault();
this.goToSelector( elementHref );
});
},
goToSelector( selector ) {
const component = doc.querySelector( selector );
if ( ! component ) {
return;
}
component.scrollIntoView( { habits: ‘clean’ } );
}
};
doc.addEventListener(
‘DOMContentLoaded’,
() => window.TastyRecipes.smoothScroll.init()
);
window.TastyRecipes = window.TastyRecipes || {};
window.TastyRecipes.cookMode = {
wakeLockApi: false,
wakeLock: false,
cookModeSelector: ‘.tasty-recipes-cook-mode’,
init() {
if (“wakeLock” in navigator && “request” in navigator.wakeLock) {
this.wakeLockApi = navigator.wakeLock;
}
const cookModes = doc.querySelectorAll(this.cookModeSelector);
if (cookModes.size > 0) {
for (const cookMode of cookModes) {
if (this.wakeLockApi) {
cookMode.querySelector(‘enter[type=”checkbox”]’).addEventListener(“change”, occasion => {
this.checkboxChange(occasion.goal);
}, false);
} else {
cookMode.fashion.show = “none”;
}
}
}
},
checkboxChange(checkbox) {
if (checkbox.checked) {
this.lock();
} else {
this.unlock();
}
},
setCheckboxesState(state) {
const checkboxes = doc.querySelectorAll(this.cookModeSelector + ‘ enter[type=”checkbox”]’);
for (const checkbox of checkboxes) {
checkbox.checked = state;
}
},
async lock() {
strive {
this.wakeLock = await this.wakeLockApi.request(“display screen”);
this.wakeLock.addEventListener(“launch”, () => {
this.wakeLock = false;
this.setCheckboxesState(false);
});
this.setCheckboxesState(true);
} catch (error) {
this.setCheckboxesState(false);
}
},
unlock() {
if (this.wakeLock) {
this.wakeLock.launch();
this.wakeLock = false;
}
this.setCheckboxesState(false);
}
};
(perform(callback) {
if (doc.readyState !== “loading”) {
callback();
} else {
doc.addEventListener(“DOMContentLoaded”, callback);
}
})(() => {
window.TastyRecipes.cookMode.init();
});
window.TastyRecipes = window.TastyRecipes || {};
window.TastyRecipes.staticTooltip = {
component: null,
tooltipElement: null,
deleting: false,
init( component ) {
if ( this.deleting ) {
return;
}
this.component = component;
this.buildElements();
},
destroy() {
if ( ! this.tooltipElement || this.deleting ) {
return;
}
this.deleting = true;
this.tooltipElement.classList.take away( ‘opened’ );
setTimeout( () => {
this.tooltipElement.take away();
this.deleting = false;
}, 500 );
},
buildElements() {
const tooltipElement = doc.createElement( ‘div’ );
tooltipElement.classList.add( ‘tasty-recipes-static-tooltip’);
tooltipElement.setAttribute( ‘id’, ‘tasty-recipes-tooltip’ );
const currentTooltipElement = doc.getElementById( ‘tasty-recipes-tooltip’ );
if ( currentTooltipElement ) {
doc.physique.replaceChild( tooltipElement, currentTooltipElement );
} else {
doc.physique.appendChild( tooltipElement );
}
this.tooltipElement = doc.getElementById( ‘tasty-recipes-tooltip’ );
},
present() {
if ( ! this.tooltipElement ) {
return;
}
const tooltipTop = this.component.getBoundingClientRect().prime
+ window.scrollY
– 10 // 10px offset.
– this.tooltipElement.getBoundingClientRect().peak;
const tooltipLeft = this.component.getBoundingClientRect().left
– ( this.tooltipElement.getBoundingClientRect().width / 2 )
+ ( this.component.getBoundingClientRect().width / 2 ) – 1;
const posLeft = Math.max( 10, tooltipLeft );
this.maybeRemoveTail( posLeft !== tooltipLeft );
this.tooltipElement.setAttribute( ‘fashion’, ‘prime:’ + tooltipTop + ‘px;left:’ + posLeft + ‘px;’ );
this.tooltipElement.classList.add( ‘opened’ );
},
maybeRemoveTail( removeTail ) {
if ( removeTail ) {
this.tooltipElement.classList.add( ‘tr-hide-tail’ );
} else {
this.tooltipElement.classList.take away( ‘tr-hide-tail’ );
}
},
changeMessage( message ) {
if ( ! this.tooltipElement ) {
return;
}
this.tooltipElement.innerHTML = message;
}
};
window.TastyRecipes.ajax = {
sendPostRequest( url, knowledge, success, failure ) {
const xhr = new XMLHttpRequest();
xhr.open( ‘POST’, url, true );
xhr.ship( this.preparePostData( knowledge ) );
xhr.onreadystatechange = () => {
if ( 4 !== xhr.readyState ) {
return;
}
if ( xhr.standing === 200 ) {
success( JSON.parse( xhr.responseText ) );
return;
}
failure( xhr );
};
xhr.onerror = () => {
failure( xhr );
};
},
preparePostData( knowledge ) {
const formData = new FormData();
for ( const key in knowledge ) {
formData.append( key, knowledge[key] );
}
return formData;
},
};
window.TastyRecipes.scores = {
defaultRating: 0,
currentRatingPercentage: 100,
savingRating: false,
init( minRating ) {
this.minRating = minRating;
this.formWatchRating();
this.closeTooltipWhenClickOutside();
this.addBodyClassBasedOnSelectedRating();
this.backwardCompFormRatingPosition();
},
formWatchRating() {
const scores = doc.querySelectorAll(‘.tasty-recipes-no-ratings-buttons [data-rating]’);
if ( scores.size {
occasion.preventDefault();
this.defaultRating = occasion.goal.closest( ‘.checked’ ).dataset.ranking;
this.setCheckedStar( occasion.goal );
this.maybeSendRating( this.defaultRating, occasion.goal );
this.setRatingInForm( this.defaultRating );
} );
}
},
closeTooltipWhenClickOutside() {
window.addEventListener( ‘click on’, e => {
// Bailout (do not take away the tooltip) when the clicked component is a ranking star, or it is the tooltip itself.
if ( e.goal.closest( ‘.tasty-recipes-rating’ ) || e.goal.classList.incorporates( ‘tasty-recipes-static-tooltip’ ) ) {
return;
}
window.TastyRecipes.staticTooltip.destroy();
} );
},
setRatingInForm( ranking ) {
const ratingInput = doc.querySelector( ‘#reply .tasty-recipes-rating[value=”‘ + rating + ‘”]’ );
if ( ! ratingInput ) {
return;
}
ratingInput.click on();
},
addBodyClassBasedOnSelectedRating() {
const ratingInputs = doc.querySelectorAll( ‘enter.tasty-recipes-rating’ );
if ( ! ratingInputs ) {
return;
}
for ( const ratingInput of ratingInputs ) {
ratingInput.addEventListener( ‘click on’, currentEvent => {
const selectedRating = currentEvent.goal.getAttribute( ‘worth’ );
this.handleBodyClassByRating( selectedRating );
this.toggleCommentTextareaRequired( selectedRating );
} );
}
},
handleBodyClassByRating( ranking ) {
if ( ranking < this.minRating ) {
doc.physique.classList.take away( 'tasty-recipes-selected-minimum-rating' );
return;
}
doc.physique.classList.add( 'tasty-recipes-selected-minimum-rating' );
},
toggleCommentTextareaRequired( ranking ) {
const commentTextarea = doc.getElementById( 'remark' );
if ( ! commentTextarea ) {
return;
}
if ( ranking {
window.TastyRecipes.staticTooltip.changeMessage( response.knowledge.message );
window.TastyRecipes.staticTooltip.present();
this.updateAverageText( response.knowledge, recipeCardElement );
this.maybeFillCommentForm( response.knowledge );
// Conceal the tooltip after 5 seconds.
setTimeout( () => {
this.maybeResetTooltip( recipeCardElement, response.knowledge, ranking );
}, 5000 );
},
() => {
this.resetTooltip( recipeCardElement );
}
);
},
updateAverageText( knowledge, recipeCardElement ) {
if ( ! knowledge.common ) {
return;
}
this.setRatingPercent( knowledge );
if ( ! knowledge.rely ) {
return;
}
const quickLink = doc.querySelector( ‘.tasty-recipes-rating-link’ );
if ( quickLink ) {
this.setTextInContainer( quickLink, knowledge );
this.setPartialStar( quickLink );
}
const cardStars = recipeCardElement.querySelector( ‘.tasty-recipes-ratings-buttons’ );
cardStars.dataset.trDefaultRating = knowledge.common;
this.setTextInContainer( recipeCardElement.querySelector( ‘.tasty-recipes-rating’ ), knowledge );
},
setTextInContainer( container, knowledge ) {
if ( ! container ) {
return;
}
if ( knowledge.label ) {
const ratingLabelElement = container.querySelector( ‘.rating-label’ );
if ( ratingLabelElement ) {
ratingLabelElement.innerHTML = knowledge.label;
}
return;
}
const averageElement = container.querySelector( ‘.common’ );
if ( averageElement ) {
averageElement.textContent = knowledge.common;
}
const countElement = container.querySelector( ‘.rely’ );
if ( countElement ) {
countElement.textContent = knowledge.rely;
}
},
setPartialStar( container ) {
const highestStar = container.querySelector( ‘[data-rating=”‘ + Math.ceil( this.defaultRating ) + ‘”]’ );
if ( highestStar ) {
highestStar.dataset.trClip = this.currentRatingPercentage;
}
},
setRatingPercent( knowledge ) {
this.defaultRating = knowledge.common.toFixed( 1 );
const elements = knowledge.common.toFixed( 2 ).toString().break up( ‘.’ );
this.currentRatingPercentage = elements[1] ? elements[1] : 100;
if ( this.currentRatingPercentage === ’00’ ) {
this.currentRatingPercentage = 100;
}
},
setCheckedStar( goal ) {
const cardRatingContainer = goal.closest( ‘.tasty-recipes-ratings-buttons’ );
const selectedRatingElement = cardRatingContainer.querySelector( ‘[data-tr-checked]’ );
if ( selectedRatingElement ) {
delete selectedRatingElement.dataset.trChecked;
}
const thisStar = goal.closest( ‘.tasty-recipes-rating’ );
thisStar.dataset.trChecked = 1;
thisStar.querySelector( ‘[data-tr-clip]’ ).dataset.trClip = 100;
},
maybeFillCommentForm( knowledge ) {
if ( ! knowledge.remark || ! knowledge.remark.content material ) {
return;
}
const commentForm = doc.querySelector( ‘#commentform’ );
if ( ! commentForm ) {
return;
}
const commentBox = commentForm.querySelector( ‘[name=comment]’ );
if ( ! commentBox || commentBox.worth ) {
return;
}
// Add remark particulars for enhancing.
commentBox.innerHTML = knowledge.remark.content material;
if ( knowledge.remark.identify ) {
commentForm.querySelector( ‘[name=author]’ ).worth = knowledge.remark.identify;
commentForm.querySelector( ‘[name=email]’ ).worth = knowledge.remark.e-mail;
}
},
maybeResetTooltip( recipeCardElement, knowledge, ranking ) {
if ( this.savingRating === ranking ) {
this.resetTooltip( recipeCardElement, knowledge );
}
},
resetTooltip( recipeCardElement, knowledge ) {
window.TastyRecipes.staticTooltip.destroy();
this.savingRating = false;
// Reset the default ranking.
const cardRatingContainer = recipeCardElement.querySelector( ‘.tasty-recipes-ratings-buttons’ );
if ( cardRatingContainer ) {
this.defaultRating = ( knowledge && knowledge.common ) ? knowledge.common.toFixed(1) : cardRatingContainer.dataset.trDefaultRating;
cardRatingContainer.dataset.trDefaultRating = this.defaultRating;
this.resetSelectedStar( cardRatingContainer, knowledge );
}
},
resetSelectedStar( cardRatingContainer ) {
const selectedRatingElement = cardRatingContainer.querySelector( ‘[data-rating=”‘ + Math.ceil( this.defaultRating ) + ‘”]’ );
if ( selectedRatingElement ) {
selectedRatingElement.querySelector( ‘[data-tr-clip]’ ).dataset.trClip = this.currentRatingPercentage;
selectedRatingElement.parentNode.dataset.trChecked = 1;
}
const previousSelectedElement= cardRatingContainer.querySelector( ‘[data-tr-checked]’ );
if ( previousSelectedElement ) {
const currentSelectedRating = previousSelectedElement.querySelector(‘[data-rating]’);
if ( currentSelectedRating !== selectedRatingElement ) {
delete previousSelectedElement.dataset.trChecked;
}
}
},
backwardCompFormRatingPosition() {
const ratingsButtons = doc.querySelector( ‘#reply .tasty-recipes-ratings-buttons, #tasty-recipes-comment-rating .tasty-recipes-ratings-buttons’ );
if ( ! ratingsButtons ) {
return;
}
const ratingsButtonsStyles = window.getComputedStyle(ratingsButtons);
if ( ! ratingsButtonsStyles.show.contains( ‘flex’ ) ) {
ratingsButtons.fashion.path = ‘rtl’;
}
if ( typeof tastyRecipesRating !== ‘undefined’ ) {
// Choose the ranking that was beforehand chosen in admin.
ratingsButtons.querySelector( ‘.tasty-recipes-rating[value=”‘ + tastyRecipesRating + ‘”]’ ).checked = true;
}
const ratingSpans = ratingsButtons.querySelectorAll( ‘.tasty-recipes-rating’ );
for (const ratingSpan of ratingSpans) {
ratingSpan.addEventListener( ‘click on’, occasion => {
if ( ratingSpan === occasion.goal ) {
return;
}
ratingSpan.previousElementSibling.click on();
} );
}
}
};
(perform(callback) {
if (doc.readyState !== “loading”) {
callback();
} else {
window.addEventListener( ‘load’, callback );
}
})(() => {
window.TastyRecipes.scores.init( window.trCommon ? window.trCommon.minRating : 4 );
});
Extra Chocolate Recipes
Are you a choco-holic like we’re? Listed here are our prime to make after we’re craving a deal with:
- 21 Chocolate Desserts
- Chocolate Lined Bananas
- Final Chocolate Mug Cake
- No Bake Chocolate Cookies
- Chocolate Peanut Butter Cups




