I’ve been obsessed with carrot cake for as long as I can remember. The spices, the fun mix-ins, the delicious frosting — what’s not to love? It also comes around in the spring when the sun is out longer and the days are warmer. Amazing carrot cake vibes all around.
Carrot cake is typically filled with warming flavors from spices like cinnamon and nutmeg and often has yummy toppings and mix-ins like chopped pecans, raisins, and shredded coconut. Over the years I’ve perfected even more ways to enjoy the flavors of carrot cake outside of an actual cake, and trust me, you’re going to LOVE these unique carrot cake inspired recipes.
Carrot cake (without the ‘cake’)
That’s right, in this roundup you’ll, of course, find the best healthy carrot cake recipe you’ll ever make, but you’ll also find carrot cake-flavored:
- Cookies
- Muffins
- Bread
- Oatmeal cups
And even a smoothie! This is truly the ultimate list for carrot cake lovers — the options are truly endless.
Mark your calendars for Carrot Cake Week
We love carrot cake themed recipes so much that we’re going to celebrate them all week long starting Monday, April 4th! Be sure to follow @ambitiouskitchen on Instagram to see all of the carrot cake recipes in action so that you can make them right along with us.
These recipes are perfect for your Easter brunch on 4/17, so add them to your menu and let the countdown begin!
Delicious, healthy carrot cake smoothie made with wholesome ingredients like raw carrots, banana, pineapple, creamy coconut milk, greek yogurt, and plenty of cozy spices. This creamy, protein-packed carrot cake smoothie makes the perfect breakfast or post-workout snack!
Carrot Cake Baked Oatmeal Cups
Delicious, healthy carrot cake baked oatmeal cups with raisins, pecans and shredded coconut. These easy carrot cake baked oatmeal cups are naturally sweetened with a touch of maple syrup and topped with a light cream cheese glaze. A wonderful on-the-go or meal prep breakfast for your week!
Carrot Cake Pancakes (gluten free + dairy free!)
Fluffy, healthy carrot cake pancakes made right in your blender with delicious spices and oats. These dairy free and gluten free carrot cake pancakes are naturally sweetened and packed with yummy mix-ins like walnuts and raisins. Top with almond butter, cream cheese or yogurt and a drizzle of maple syrup for a wonderful, cozy breakfast!
Healthy Carrot Cake Muffins with Cream Cheese Glaze
Healthy carrot cake muffins packed with carrots, coconut, raisins and nuts. These deliciously moist carrot cake muffins are naturally sweetened with pure maple syrup and applesauce. Top them with a light cream cheese glaze for a delicious snack or healthy treat!
Healthier Carrot Cake Banana Bread with Cinnamon Cream Cheese Frosting
Delicious healthier carrot cake banana bread that tastes just like a cross between moist carrot cake and your favorite banana bread. This easy carrot cake banana bread recipe is lightened up with applesauce, dairy free milk and coconut sugar, and topped with an incredible cinnamon cream cheese frosting!
Healthy Carrot Cake Cookies (made with coconut oil + dairy free!)
Delicious healthy carrot cake cookies bursting with coconut, raisins and pecans. These naturally sweetened carrot cake oatmeal cookies taste just like the carrot cake you know and love but are healthy enough to enjoy for breakfast!
The Best Healthy Carrot Cake You’ll Ever Eat (gluten free & paleo-friendly!)
The BEST moist healthy carrot cake you’ll ever eat made with almond and coconut flour and naturally sweetened with pure maple syrup. Packed with coconut, raisins and pecans and topped with a delicious cream cheese frosting that’s easily dairy free! This paleo-friendly gluten free carrot cake will be your new favorite carrot cake recipe!
If you make any of these carrot cake recipes, be sure to leave a comment and a rating so I know how you liked it. Enjoy, xo!
Download My FREE 7-Day Meal Plan
Download My FREE 7-Day Meal Plan
Join the AK email list and get my brand new, FREE Simple & Nourishing 7-day Meal Plan delivered to your inbox.
“;
element.insertAdjacentHTML(position, tag);
}
return document.getElementById(id);
};
ClsDynamicAdsInjector.prototype._repeatDynamicAds = function (dynamicAd) {
var repeatedDynamicAds = [];
var maxLazySequence = dynamicAd.lazy ? defaultTo(this.locationMaxLazySequence.get(dynamicAd.location), 0) : 0;
var initialMax = Math.max(dynamicAd.min, dynamicAd.max);
var lazyMax = maxLazySequence === 0 && dynamicAd.lazy
? initialMax + dynamicAd.lazyMax
: Math.min(Math.max(maxLazySequence – dynamicAd.sequence + 1, 0), initialMax + dynamicAd.lazyMax);
var max = Math.max(initialMax, lazyMax);
for (var dynamicSequence = 0; dynamicSequence = initialMax;
repeatedDynamicAds.push(__assign(__assign({}, dynamicAd), { sequence: sequence, lazy: lazy }));
}
return repeatedDynamicAds;
};
ClsDynamicAdsInjector.prototype._locationEnabled = function (dynamicAdUnit) {
var clsEnabledLocation = this._clsOptions.enabledLocations.indexOf(dynamicAdUnit.location) !== -1;
var allLocationsDisabled = (this._clsOptions.disableAds && this._clsOptions.disableAds.all) || document.body.classList.contains(‘adthrive-disable-all’);
var contentEnabled = !document.body.classList.contains(‘adthrive-disable-content’) && !this._clsOptions.disableAds.reasons.has(‘content_plugin’);
return clsEnabledLocation && !allLocationsDisabled && contentEnabled;
};
return ClsDynamicAdsInjector;
}());
var VideoAdUnit;
(function (VideoAdUnit) {
VideoAdUnit[“Video_Collapse_Autoplay_SoundOff”] = “Video_Collapse_Autoplay_SoundOff”;
VideoAdUnit[“Video_Individual_Autoplay_SOff”] = “Video_Individual_Autoplay_SOff”;
VideoAdUnit[“Video_Coll_SOff_Smartphone”] = “Video_Coll_SOff_Smartphone”;
VideoAdUnit[“Video_In_Post_ClicktoPlay_SoundOn”] = “Video_In-Post_ClicktoPlay_SoundOn”;
})(VideoAdUnit || (VideoAdUnit = {}));
var PinterestReplacedPlayer;
(function (PinterestReplacedPlayer) {
PinterestReplacedPlayer[“StickySekindo”] = “stickySekindo”;
PinterestReplacedPlayer[“StaticSekindo”] = “staticSekindo”;
PinterestReplacedPlayer[“None”] = “none”;
})(PinterestReplacedPlayer || (PinterestReplacedPlayer = {}));
var SekindoHoldoutExperiment = (function (_super) {
__extends$1(SekindoHoldoutExperiment, _super);
function SekindoHoldoutExperiment() {
var _this = _super.call(this) || this;
_this.key = ‘sekho’;
_this._result = false;
_this._choices = [{ choice: true }, { choice: false }];
_this._result = _this.run();
_this.setExperimentKey();
logger$1.info(‘ClsSekindoHoldoutExperiment’, ‘result’, _this._result);
return _this;
}
Object.defineProperty(SekindoHoldoutExperiment.prototype, “result”, {
get: function () {
return this._result;
},
enumerable: false,
configurable: true
});
SekindoHoldoutExperiment.prototype.run = function () {
return new BernoulliTrial(0.05).get();
};
return SekindoHoldoutExperiment;
}(PluginExperiment));
var Component = (function () {
function Component() {
}
Object.defineProperty(Component.prototype, “enabled”, {
get: function () {
return true;
},
enumerable: false,
configurable: true
});
return Component;
}());
var VideoBase = (function (_super) {
__extends$1(VideoBase, _super);
function VideoBase(_videoConfig, sekindoHoldoutExperimentResult, _component) {
var _this = _super.call(this) || this;
_this._videoConfig = _videoConfig;
_this._component = _component;
_this._stickyRelatedOnPage = false;
_this._contextualMediaIds = [];
var players = _this._videoConfig.players || [];
_this._device = isDesktop() ? ‘desktop’ : ‘mobile’;
_this._potentialPlayerMap = _this._setPotentialPlayerMap(sekindoHoldoutExperimentResult);
var stationaryRelated = players.filter(function (player) { return player.type === “stationaryRelated” && player.enabled; });
_this._potentialPlayerMap.stationaryRelated = stationaryRelated;
return _this;
}
VideoBase.prototype._setPotentialPlayerMap = function (sekindoHoldoutExperimentResult) {
var _this = this;
var players = this._videoConfig.players;
var defaultMap = {
stickyRelated: [],
stickyPlaylist: [],
sekindo: [],
stationaryRelated: [],
};
return players && players.length
? players
.filter(function (player) { var _a; return ((_a = player.devices) === null || _a === void 0 ? void 0 : _a.indexOf(_this._device)) > -1; })
.reduce(function (accumulator, player) {
if (!accumulator[player.type]) {
logger.event(_this._component, ‘constructor’, ‘Unknown Video Player Type detected’, player.type);
accumulator[player.type] = [];
}
if (player.enabled) {
if (!sekindoHoldoutExperimentResult || player.type !== “sekindo” ) {
accumulator[player.type].push(player);
}
}
return accumulator;
}, defaultMap)
: defaultMap;
};
VideoBase.prototype._checkPlayerSelectorOnPage = function (playerType) {
var _this = this;
var players = this._potentialPlayerMap[playerType].map(function (player) {
return {
player: player,
playerElement: _this._getPlacementElement(player),
};
});
if (!players.length) {
return { player: null, playerElement: null };
}
return players[0];
};
VideoBase.prototype._getOverrideElement = function (player, playerElement, publisherPageElement) {
if (player && playerElement) {
var div = document.createElement(‘div’);
playerElement.insertAdjacentElement(player.position, div);
publisherPageElement = div;
logger.info(this._component, ‘_initializeRelatedPlayers’, ‘Changing injection element’, publisherPageElement);
}
else {
var _a = this._checkPlayerSelectorOnPage(“stickyPlaylist” ), stickyPlaylistPlayer = _a.player, stickyPlaylistElement = _a.playerElement;
if (stickyPlaylistPlayer && stickyPlaylistElement) {
var div = document.createElement(‘div’);
stickyPlaylistElement.insertAdjacentElement(stickyPlaylistPlayer.position, div);
publisherPageElement = div;
logger.info(this._component, ‘_initializeRelatedPlayers’, ‘Changing injection element’, publisherPageElement);
}
}
return publisherPageElement;
};
VideoBase.prototype._shouldOverrideElement = function (element) {
var overrideEmbed = element.getAttribute(‘override-embed’);
if (overrideEmbed === ‘true’ || overrideEmbed === ‘false’) {
return overrideEmbed === ‘true’;
}
return this._videoConfig.contextualSettings ? this._videoConfig.contextualSettings.overrideEmbedLocation : false;
};
VideoBase.prototype._getPlacementElement = function (settings) {
var pageSelectorEl = allowablePageSelector(settings.pageSelector);
var elementSelectorEl = validCssSelector(settings.elementSelector);
if (!pageSelectorEl.valid) {
logger.error(‘VideoUtils’, ‘getPlacementElement’, new Error(settings.pageSelector + ” is not a valid selector”));
return null;
}
if (settings.pageSelector && !pageSelectorEl.elements.length) {
logger.error(‘VideoUtils’, ‘getPlacementElement’, new Error(“PSNF: ” + settings.pageSelector + ” does not exist on the page”));
return null;
}
if (!elementSelectorEl.valid) {
logger.error(‘VideoUtils’, ‘getPlacementElement’, new Error(settings.elementSelector + ” is not a valid selector”));
return null;
}
if (elementSelectorEl.elements.length > settings.skip) {
return elementSelectorEl.elements[settings.skip];
}
else {
logger.error(‘VideoUtils’, ‘getPlacementElement’, new Error(“ESNF: ” + settings.elementSelector + ” does not exist on the page”));
return null;
}
};
VideoBase.prototype._getEmbeddedPlayerType = function (element) {
var embeddedPlayerType = element.getAttribute(‘data-player-type’);
if (!embeddedPlayerType || embeddedPlayerType === ‘default’) {
embeddedPlayerType = this._videoConfig.contextualSettings ? this._videoConfig.contextualSettings.defaultPlayerType : ‘static’;
}
if (this._stickyRelatedOnPage) {
embeddedPlayerType = ‘static’;
}
return embeddedPlayerType;
};
VideoBase.prototype._getUnusedMediaId = function (publisherPageElement) {
var mediaId = publisherPageElement.getAttribute(‘data-video-id’);
if (mediaId && this._contextualMediaIds.indexOf(mediaId) === -1) {
this._contextualMediaIds.push(mediaId);
return mediaId;
}
else {
logger.info(this._component, ‘_getUnusedMediaId’, ‘No Unique MediaId’);
return false;
}
};
VideoBase.prototype._createRelatedPlayer = function (mediaId, embeddedPlayerType, publisherPageElement) {
if (embeddedPlayerType === ‘collapse’) {
this._createCollapsePlayer(mediaId, publisherPageElement);
}
else if (embeddedPlayerType === ‘static’) {
this._createStaticPlayer(mediaId, publisherPageElement);
}
};
VideoBase.prototype._createCollapsePlayer = function (mediaId, publisherPageElement) {
var _a = this._checkPlayerSelectorOnPage(“stickyRelated” ), stickyRelatedPlayer = _a.player, stickyRelatedElement = _a.playerElement;
var player = stickyRelatedPlayer ? stickyRelatedPlayer : this._potentialPlayerMap[“stationaryRelated” ][0];
if (player && player.playerId) {
var shouldOverrideElement = this._shouldOverrideElement(publisherPageElement);
if (shouldOverrideElement) {
publisherPageElement = this._getOverrideElement(stickyRelatedPlayer, stickyRelatedElement, publisherPageElement);
}
publisherPageElement = document.querySelector(“#cls-video-container-” + mediaId + ” > div”) || publisherPageElement;
this._createStickyRelatedPlayer(__assign(__assign({}, player), { mediaId: mediaId }), publisherPageElement);
}
else {
logger.error(this._component, ‘_createCollapsePlayer’, ‘No video player found’);
}
};
VideoBase.prototype._createStaticPlayer = function (mediaId, publisherPageElement) {
if (this._potentialPlayerMap[“stationaryRelated” ].length && this._potentialPlayerMap[“stationaryRelated” ][0].playerId) {
var player = this._potentialPlayerMap[“stationaryRelated” ][0];
this._createStationaryRelatedPlayer(__assign(__assign({}, player), { mediaId: mediaId }), publisherPageElement);
}
else {
logger.error(this._component, ‘_createStaticPlayer’, ‘No video player found’);
}
};
VideoBase.prototype._shouldRunAutoplayPlayers = function () {
if (this._isVideoAllowedOnPage()) {
if (this._potentialPlayerMap[“stickyRelated” ].length ||
this._potentialPlayerMap[“stickyPlaylist” ].length ||
this._potentialPlayerMap[“sekindo” ].length) {
return true;
}
}
return false;
};
VideoBase.prototype._determineAutoplayPlayers = function () {
var componentName = this._component;
var isVideoManagerComponent = componentName === ‘VideoManagerComponent’;
var config = this._config;
if (this._stickyRelatedOnPage) {
logger.event(componentName, ‘stickyRelatedOnPage’, (isVideoManagerComponent && {
device: config && config.context.device,
isDesktop: this._device,
}) ||
{});
return;
}
var _a = this._checkPlayerSelectorOnPage(“stickyPlaylist” ), stickyPlaylistPlayer = _a.player, stickyPlaylistElement = _a.playerElement;
var _b = this._checkPlayerSelectorOnPage(“sekindo” ), sekindoPlayer = _b.player, sekindoElement = _b.playerElement;
if (stickyPlaylistPlayer && stickyPlaylistPlayer.playerId && stickyPlaylistPlayer.playlistId && stickyPlaylistElement) {
this._createPlaylistPlayer(stickyPlaylistPlayer, stickyPlaylistElement);
}
else if (sekindoPlayer && sekindoPlayer.playlistId && sekindoElement) {
this._createSekindoPlayer(sekindoPlayer, sekindoElement);
}
else {
logger.event(componentName, ‘noStickyPlaylistOrSekindo’, (isVideoManagerComponent && {
vendor: ‘none’,
device: config && config.context.device,
isDesktop: this._device,
}) ||
{});
}
};
VideoBase.prototype._initializeRelatedPlayers = function (publisherPageElements) {
for (var t = 0; t Adding Stationary Related Player Container”);
this._wrapJWPlayerWithCLS(element, player.mediaId);
this._playersAddedFromPlugin.push(player.mediaId);
}
};
ClsVideoInsertion.prototype._createStickyRelatedPlayer = function (player, element) {
this._device === ‘mobile’ ? [400, 225] : [640, 360];
VideoAdUnit.Video_Individual_Autoplay_SOff;
this._stickyRelatedOnPage = true;
this._videoConfig.mobileStickyPlayerOnPage = this._device === ‘mobile’;
if (element && player.position && player.mediaId) {
logger$1.info(‘ClsVideoInsertion’, ‘_createStickyRelatedPlayer’, “Video > Adding Sticky Related OnPage Player Container”);
var playerContainer = document.createElement(‘div’);
element.insertAdjacentElement(player.position, playerContainer);
var title = document.createElement(‘h3′);
title.style.margin = ’10px 0’;
var titleHeight = this._getTitleHeight(title);
this._wrapJWPlayerWithCLS(playerContainer, player.mediaId, this._WRAPPER_BAR_HEIGHT + titleHeight);
this._playersAddedFromPlugin.push(player.mediaId);
}
};
ClsVideoInsertion.prototype._createSekindoPlayer = function (player, element) {
var playlistId = player.playlistId;
__assign(__assign({}, player), { classNames: [] });
var playerSize = this._device === ‘mobile’ ? { width: 340, height: 260 } : { width: 320, height: 250 };
logger$1.info(‘ClsVideoInsertion’, ‘_createSekindoPlayer’, “Video > Adding Sekindo Player Container”);
var clsWrapper = this._createSekindoCLSWrapper(playerSize.height, playlistId);
element.insertAdjacentElement(player.position, clsWrapper);
this._playersAddedFromPlugin.push(playlistId);
};
ClsVideoInsertion.prototype._createPlaylistPlayer = function (player, element) {
var playlistId = player.playlistId;
this._videoConfig.mobileStickyPlayerOnPage = true;
var playerContainer = document.createElement(‘div’);
element.insertAdjacentElement(player.position, playerContainer);
logger$1.info(‘ClsVideoInsertion’, ‘_createPlaylistPlayer’, “Video > Adding Playlist Player Container”);
this._wrapJWPlayerWithCLS(playerContainer, playlistId, this._WRAPPER_BAR_HEIGHT);
this._playersAddedFromPlugin.push(“playlist-” + playlistId);
};
ClsVideoInsertion.prototype._isVideoAllowedOnPage = function () {
var disableAds = this._clsOptions.disableAds;
if (disableAds && disableAds.video) {
logger$1.info(‘ClsVideoInsertionMigrated’, ‘isVideoAllowedOnPage’, ‘Video > Non in post players are disabled on page’);
var disableAdsReason = ”;
if (disableAds.reasons.has(‘video_tag’)) {
disableAdsReason = ‘video tag’;
}
else if (disableAds.reasons.has(‘video_plugin’)) {
disableAdsReason = ‘video plugin’;
}
else if (disableAds.reasons.has(‘video_page’)) {
disableAdsReason = ‘command queue’;
}
var loggedClassName = disableAdsReason ? ‘ClsVideoInsertionMigrated’ : ‘ClsVideoInsertion’;
logger$1.error(loggedClassName, ‘isVideoAllowedOnPage’, new Error(“DBP: Disabled by publisher via ” + (disableAdsReason || ‘other’)));
return false;
}
if (this._clsOptions.videoDisabledFromPlugin) {
return false;
}
return true;
};
return ClsVideoInsertion;
}(VideoBase));
(function () {
var clsOptions = new ClsOptions();
if (!clsOptions || !clsOptions.enabled) {
return;
}
new ClsDynamicAdsInjector(clsOptions, new TargetDensityExperiment()).start();
new ClsVideoInsertion(new Video(clsOptions), clsOptions).init();
})();
})();