Tuesday, July 22, 2025
HomeLow CarbAir Fryer Croutons

Air Fryer Croutons


Forget those pricey bags of store-bought croutons – these air fryer sourdough croutons are crispy, golden, and ready in minutes. They’re the perfect way to use up leftover bread, and once you try them, you’ll never go back to boxed!

Cripsy air fryer croutons in a white bowl.
[feast_advanced_jump_to]

🧑‍🍳 Why You’ll Love This Recipe

As someone who’s deep in her frugal saving era, I love making the most of what I already have – and these croutons are a pantry star. You can toss them in this Tortellini Ceasar Salad.

  • Frugal-friendly: Uses up leftover or stale sourdough bread
  • Quick: Ready in under 10 minutes. Super easy to make croutons using your air fryer. I also have sour dough bread at home for sandwiches. Kind of like these Air Fryer Tortilla Chips (Low Carb)
  • Customizable: Add your favorite seasonings
  • Crispy + delicious: Crunchy on the outside, chewy in the center (if you like it that way)

🛒 Ingredients Needed for Air Fryer Croutons

Ingredinents needed for air fryer croutons.
  • 3 – 4 slices sourdough bread – Slightly stale or leftover sourdough works best for croutons! It holds its shape and crisps up beautifully. I always love the sour dough bread from Aldi.
  • 1 – 2 tablespoons olive oil – Helps the croutons crisp and gives that golden, toasty finish. You can use avocado oil or spray oil, too.
  • ½ teaspoon garlic powder – Adds a warm, savory depth without overpowering the flavor.
  • ½ teaspoon Italian seasoning – A blend of herbs (usually oregano, basil, thyme) that gives your croutons a flavorful boost.
  • Pinch of sea salt – Just enough to enhance all the other flavors.
  • Optional: grated Parmesan cheese – For a savory, cheesy twist—adds a little richness and crisp texture.
  • Optional: smoked paprika – Adds a slightly smoky, warm flavor that makes the croutons next-level delicious.

📝 Substitution Tips:

  • No sourdough? Use French bread, whole wheat, or any crusty loaf.
  • Want it dairy-free? Skip the parmesan cheese—still amazing.

How to Make Croutons in the Air Fryer

Step 1 Cut bread into cubes and add them to a bowl. About ¾-inch is a good size.

Step 2 Toss with oil and seasonings. In a bowl or zip-top bag, mix until evenly coated.

Coated bread crumbs with olive oil in air fryer.

Step 3 Air fry at 375°F for 5–8 minutes. Shake halfway. Watch closely in the last 2 minutes—crispiness comes fast!

Crispy air fried bread crumbs that are golden and delicious.

Step 4 Let cool for 5 minutes. They’ll firm up as they cool.

Pro Tips

  • Day-old or slightly stale bread works best—holds its shape and crisps beautifully.
  • Want extra crunch? Air fry 1–2 minutes longer.
  • Store in an airtight container for up to a week (if they last that long 😄).
  • Perfect for topping salads, soups, or snacking straight from the jar.

🍽️ Serving Suggestions

  • Top your favorite salad – I love these on a burger salad with avocado and shredded carrots. Big Mac in a Bowl (or Salad) or Taco Salad with Doritos (replace the doritos with croutons)
  • Sprinkle on soup – try tomato, broccoli cheddar, or roasted veggie.
  • Use in stuffing or casseroles – hello frugal holiday meals!

Recipe FAQs for Air Fryer Croutons

Can I make air fryer croutons oil-free?

Yes! Just mist with a little water and toss in seasonings, but they won’t be quite as golden.

Do I need to preheat my air fryer?

Optional, but I usually do for a minute or two for even cooking.

How do I make air fryer croutons extra garlicky?

Add minced garlic or a sprinkle of garlic salt before air frying!

Print

Air Fryer Croutons

5 Stars 4 Stars 3 Stars 2 Stars 1 Star No reviews
  • Author: Jenna
  • Prep Time: 3 min
  • Cook Time: 8 min
  • Total Time: 11 min
  • Yield: 4
  • Category: Easy
  • Method: Air Fryer
  • Cuisine: American
const share_pin_buttons = document.getElementsByClassName( ‘share-pin button’ ); if ( share_pin_buttons ) { for ( let share_key = 0; share_key { e.stopPropagation(); window.open(e.target.dataset.href,’targetWindow’,’toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=500,height=500′); return false; } ); } }

Description

Forget those pricey bags of store-bought croutons—these air fryer sourdough croutons are crispy, golden, and ready in minutes. They’re the perfect way to use up leftover bread, and once you try them, you’ll never go back to boxed!


Ingredients

34 slices sourdough bread

12 tablespoons olive oil

½ teaspoon garlic powder

Pinch of sea salt


Instructions

Cut bread into cubes and add them to a bowl. About ¾-inch is a good size.

Toss with oil and seasonings. In a bowl or zip-top bag, mix until evenly coated.

Air fry at 375°F for 5–8 minutes. Shake halfway. Watch closely in the last 2 minutes—crispiness comes fast!

Let cool for 5 minutes. They’ll firm up as they cool.


Notes

  • Day-old or slightly stale bread works best—holds its shape and crisps beautifully.
  • Want extra crunch? Air fry 1–2 minutes longer.
  • Store in an airtight container for up to a week (if they last that long 😄).

Nutrition

  • Serving Size: 1
window.trCommon={“minRating”:6,”ajaxurl”:”https:\/\/www.recipe-diaries.com\/wp-admin\/admin-ajax.php”,”ratingNonce”:””,”postId”:44884}; window.TastyRecipes = window.TastyRecipes || {}; window.TastyRecipes.smoothScroll = { init() { document.addEventListener( ‘click’, ( e ) => { let anchor = e.target; if ( anchor.tagName !== ‘A’ ) { anchor = anchor.closest( ‘a.tasty-recipes-scrollto’ ); } if ( ! anchor || ! anchor.classList.contains( ‘tasty-recipes-scrollto’ ) ) { return; } const elementHref = anchor.getAttribute( ‘href’ ); if ( ! elementHref ) { return; } e.preventDefault(); this.goToSelector( elementHref ); }); }, goToSelector( selector ) { const element = document.querySelector( selector ); if ( ! element ) { return; } element.scrollIntoView( { behavior: ‘smooth’ } ); } }; document.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 = document.querySelectorAll(this.cookModeSelector); if (cookModes.length > 0) { for (const cookMode of cookModes) { if (this.wakeLockApi) { cookMode.querySelector(‘input[type=”checkbox”]’).addEventListener(“change”, event => { this.checkboxChange(event.target); }, false); } else { cookMode.style.display = “none”; } } } }, checkboxChange(checkbox) { if (checkbox.checked) { this.lock(); } else { this.unlock(); } }, setCheckboxesState(state) { const checkboxes = document.querySelectorAll(this.cookModeSelector + ‘ input[type=”checkbox”]’); for (const checkbox of checkboxes) { checkbox.checked = state; } }, async lock() { try { this.wakeLock = await this.wakeLockApi.request(“screen”); this.wakeLock.addEventListener(“release”, () => { this.wakeLock = false; this.setCheckboxesState(false); }); this.setCheckboxesState(true); } catch (error) { this.setCheckboxesState(false); } }, unlock() { if (this.wakeLock) { this.wakeLock.release(); this.wakeLock = false; } this.setCheckboxesState(false); } }; (function(callback) { if (document.readyState !== “loading”) { callback(); } else { document.addEventListener(“DOMContentLoaded”, callback); } })(() => { window.TastyRecipes.cookMode.init(); }); window.TastyRecipes = window.TastyRecipes || {}; window.TastyRecipes.staticTooltip = { element: null, tooltipElement: null, deleting: false, init( element ) { if ( this.deleting ) { return; } this.element = element; this.buildElements(); }, destroy() { if ( ! this.tooltipElement || this.deleting ) { return; } this.deleting = true; this.tooltipElement.classList.remove( ‘opened’ ); setTimeout( () => { this.tooltipElement.remove(); this.deleting = false; }, 500 ); }, buildElements() { const tooltipElement = document.createElement( ‘div’ ); tooltipElement.classList.add( ‘tasty-recipes-static-tooltip’); tooltipElement.setAttribute( ‘id’, ‘tasty-recipes-tooltip’ ); const currentTooltipElement = document.getElementById( ‘tasty-recipes-tooltip’ ); if ( currentTooltipElement ) { document.body.replaceChild( tooltipElement, currentTooltipElement ); } else { document.body.appendChild( tooltipElement ); } this.tooltipElement = document.getElementById( ‘tasty-recipes-tooltip’ ); }, show() { if ( ! this.tooltipElement ) { return; } const tooltipTop = this.element.getBoundingClientRect().top + window.scrollY – 10 // 10px offset. – this.tooltipElement.getBoundingClientRect().height; const tooltipLeft = this.element.getBoundingClientRect().left – ( this.tooltipElement.getBoundingClientRect().width / 2 ) + ( this.element.getBoundingClientRect().width / 2 ) – 1; const posLeft = Math.max( 10, tooltipLeft ); this.maybeRemoveTail( posLeft !== tooltipLeft ); this.tooltipElement.setAttribute( ‘style’, ‘top:’ + 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.remove( ‘tr-hide-tail’ ); } }, changeMessage( message ) { if ( ! this.tooltipElement ) { return; } this.tooltipElement.innerHTML = message; } }; window.TastyRecipes.ajax = { sendPostRequest( url, data, success, failure ) { const xhr = new XMLHttpRequest(); xhr.open( ‘POST’, url, true ); xhr.send( this.preparePostData( data ) ); xhr.onreadystatechange = () => { if ( 4 !== xhr.readyState ) { return; } if ( xhr.status === 200 ) { success( JSON.parse( xhr.responseText ) ); return; } failure( xhr ); }; xhr.onerror = () => { failure( xhr ); }; }, preparePostData( data ) { const formData = new FormData(); for ( const key in data ) { formData.append( key, data[key] ); } return formData; }, }; window.TastyRecipes.ratings = { defaultRating: 0, currentRatingPercentage: 100, savingRating: false, init( minRating ) { this.minRating = minRating; this.formWatchRating(); this.closeTooltipWhenClickOutside(); this.addBodyClassBasedOnSelectedRating(); this.backwardCompFormRatingPosition(); }, formWatchRating() { const ratings = document.querySelectorAll(‘.tasty-recipes-no-ratings-buttons [data-rating]’); if ( ratings.length { event.preventDefault(); this.defaultRating = event.target.closest( ‘.checked’ ).dataset.rating; this.setCheckedStar( event.target ); this.maybeSendRating( this.defaultRating, event.target ); this.setRatingInForm( this.defaultRating ); } ); } }, closeTooltipWhenClickOutside() { window.addEventListener( ‘click’, e => { // Bailout (don’t remove the tooltip) when the clicked element is a rating star, or it’s the tooltip itself. if ( e.target.closest( ‘.tasty-recipes-rating’ ) || e.target.classList.contains( ‘tasty-recipes-static-tooltip’ ) ) { return; } window.TastyRecipes.staticTooltip.destroy(); } ); }, setRatingInForm( rating ) { const ratingInput = document.querySelector( ‘#respond .tasty-recipes-rating[value=”‘ + rating + ‘”]’ ); if ( ! ratingInput ) { return; } ratingInput.click(); }, addBodyClassBasedOnSelectedRating() { const ratingInputs = document.querySelectorAll( ‘input.tasty-recipes-rating’ ); if ( ! ratingInputs ) { return; } for ( const ratingInput of ratingInputs ) { ratingInput.addEventListener( ‘click’, currentEvent => { const selectedRating = currentEvent.target.getAttribute( ‘value’ ); this.handleBodyClassByRating( selectedRating ); this.toggleCommentTextareaRequired( selectedRating ); } ); } }, handleBodyClassByRating( rating ) { if ( rating < this.minRating ) { document.body.classList.remove( 'tasty-recipes-selected-minimum-rating' ); return; } document.body.classList.add( 'tasty-recipes-selected-minimum-rating' ); }, toggleCommentTextareaRequired( rating ) { const commentTextarea = document.getElementById( 'comment' ); if ( ! commentTextarea ) { return; } if ( rating { window.TastyRecipes.staticTooltip.changeMessage( response.data.message ); window.TastyRecipes.staticTooltip.show(); this.updateAverageText( response.data, recipeCardElement ); this.maybeFillCommentForm( response.data ); // Hide the tooltip after 5 seconds. setTimeout( () => { this.maybeResetTooltip( recipeCardElement, response.data, rating ); }, 5000 ); }, () => { this.resetTooltip( recipeCardElement ); } ); }, updateAverageText( data, recipeCardElement ) { if ( ! data.average ) { return; } this.setRatingPercent( data ); if ( ! data.count ) { return; } const quickLink = document.querySelector( ‘.tasty-recipes-rating-link’ ); if ( quickLink ) { this.setTextInContainer( quickLink, data ); this.setPartialStar( quickLink ); } const cardStars = recipeCardElement.querySelector( ‘.tasty-recipes-ratings-buttons’ ); cardStars.dataset.trDefaultRating = data.average; this.setTextInContainer( recipeCardElement.querySelector( ‘.tasty-recipes-rating’ ), data ); }, setTextInContainer( container, data ) { if ( ! container ) { return; } if ( data.label ) { const ratingLabelElement = container.querySelector( ‘.rating-label’ ); if ( ratingLabelElement ) { ratingLabelElement.innerHTML = data.label; } return; } const averageElement = container.querySelector( ‘.average’ ); if ( averageElement ) { averageElement.textContent = data.average; } const countElement = container.querySelector( ‘.count’ ); if ( countElement ) { countElement.textContent = data.count; } }, setPartialStar( container ) { const highestStar = container.querySelector( ‘[data-rating=”‘ + Math.ceil( this.defaultRating ) + ‘”]’ ); if ( highestStar ) { highestStar.dataset.trClip = this.currentRatingPercentage; } }, setRatingPercent( data ) { this.defaultRating = data.average.toFixed( 1 ); const parts = data.average.toFixed( 2 ).toString().split( ‘.’ ); this.currentRatingPercentage = parts[1] ? parts[1] : 100; if ( this.currentRatingPercentage === ’00’ ) { this.currentRatingPercentage = 100; } }, setCheckedStar( target ) { const cardRatingContainer = target.closest( ‘.tasty-recipes-ratings-buttons’ ); const selectedRatingElement = cardRatingContainer.querySelector( ‘[data-tr-checked]’ ); if ( selectedRatingElement ) { delete selectedRatingElement.dataset.trChecked; } const thisStar = target.closest( ‘.tasty-recipes-rating’ ); thisStar.dataset.trChecked = 1; thisStar.querySelector( ‘[data-tr-clip]’ ).dataset.trClip = 100; }, maybeFillCommentForm( data ) { if ( ! data.comment || ! data.comment.content ) { return; } const commentForm = document.querySelector( ‘#commentform’ ); if ( ! commentForm ) { return; } const commentBox = commentForm.querySelector( ‘[name=comment]’ ); if ( ! commentBox || commentBox.value ) { return; } // Add comment details for editing. commentBox.innerHTML = data.comment.content; if ( data.comment.name ) { commentForm.querySelector( ‘[name=author]’ ).value = data.comment.name; commentForm.querySelector( ‘[name=email]’ ).value = data.comment.email; } }, maybeResetTooltip( recipeCardElement, data, rating ) { if ( this.savingRating === rating ) { this.resetTooltip( recipeCardElement, data ); } }, resetTooltip( recipeCardElement, data ) { window.TastyRecipes.staticTooltip.destroy(); this.savingRating = false; // Reset the default rating. const cardRatingContainer = recipeCardElement.querySelector( ‘.tasty-recipes-ratings-buttons’ ); if ( cardRatingContainer ) { this.defaultRating = ( data && data.average ) ? data.average.toFixed(1) : cardRatingContainer.dataset.trDefaultRating; cardRatingContainer.dataset.trDefaultRating = this.defaultRating; this.resetSelectedStar( cardRatingContainer, data ); } }, 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 = document.querySelector( ‘#respond .tasty-recipes-ratings-buttons, #tasty-recipes-comment-rating .tasty-recipes-ratings-buttons’ ); if ( ! ratingsButtons ) { return; } const ratingsButtonsStyles = window.getComputedStyle(ratingsButtons); if ( ! ratingsButtonsStyles.display.includes( ‘flex’ ) ) { ratingsButtons.style.direction = ‘rtl’; } if ( typeof tastyRecipesRating !== ‘undefined’ ) { // Select the rating that was previously selected 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’, event => { if ( ratingSpan === event.target ) { return; } ratingSpan.previousElementSibling.click(); } ); } } }; (function(callback) { if (document.readyState !== “loading”) { callback(); } else { window.addEventListener( ‘load’, callback ); } })(() => { window.TastyRecipes.ratings.init( window.trCommon ? window.trCommon.minRating : 4 ); });

The post Air Fryer Croutons appeared first on Recipe Diaries.


RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments