It looks like this is a web page, not a feed. I looked for a feed associated with this page, but couldn't find one. Please enter the address of your feed to validate.

Source: https://topminisite.com/feed.xml

  1. <!DOCTYPE html><html lang="en"> <head><meta charset="utf-8"><link rel="icon" type="image/svg+xml" href="/favicon.svg"><link rel="icon" type="image/png" href="/favicon.png"><link rel="icon" type="image/x-icon" href="/favicon.ico"><meta name="viewport" content="width=device-width"><link rel="canonical" href="https://topminisite.com/blog/best-debt-consolidation-companies"><title>Best Debt Consolidation Companies</title><meta name="title" content="Best Debt Consolidation Companies: Top &#38; Rating Best Way To..."><meta name="description" content="A debt consolidation loan is typically an unsecured loan you take out with a personal loan lender without putting down any collateral. Best Debt Consolidation..."><link rel="sitemap" href="/sitemap-index.xml"><link rel="alternate" type="application/rss+xml" title="Best Debt Consolidation Companies" href="https://topminisite.com/feed.xml"><meta property="og:title" content="Best Debt Consolidation Companies"><meta property="og:description" content="A debt consolidation loan is typically an unsecured loan you take out with a personal loan lender without putting down any collateral. Best Debt Consolidation..."><meta property="og:url" content="https://topminisite.com/blog/best-debt-consolidation-companies"><meta property="og:image" content="https://cdn.blogweb.me/1/screenshot_from_2020_10_22_00_41_02_1315d8711a.png"><meta property="twitter:card" content="summary_large_image"><meta property="twitter:url" content="https://topminisite.com/blog/best-debt-consolidation-companies"><meta property="twitter:title" content="Best Debt Consolidation Companies"><meta property="twitter:description" content="A debt consolidation loan is typically an unsecured loan you take out with a personal loan lender without putting down any collateral. Best Debt Consolidation..."><meta property="twitter:image" content="https://cdn.blogweb.me/1/screenshot_from_2020_10_22_00_41_02_1315d8711a.png"><link as="font" crossorigin rel="preload" href="https://fonts.gstatic.com/s/poppins/v24/pxiGyp8kv8JHgFVrJJLucXtAOvWDSHFF.woff2" type="font/woff2"><link as="font" crossorigin rel="preload" href="https://fonts.gstatic.com/s/poppins/v24/pxiGyp8kv8JHgFVrJJLufntAOvWDSHFF.woff2" type="font/woff2"><link as="font" crossorigin rel="preload" href="https://fonts.gstatic.com/s/poppins/v24/pxiGyp8kv8JHgFVrJJLucHtAOvWDSA.woff2" type="font/woff2"><link as="font" crossorigin rel="preload" href="https://fonts.gstatic.com/s/poppins/v24/pxiDyp8kv8JHgFVrJJLmy15VFteOYktMqlap.woff2" type="font/woff2"><link as="font" crossorigin rel="preload" href="https://fonts.gstatic.com/s/poppins/v24/pxiDyp8kv8JHgFVrJJLmy15VGdeOYktMqlap.woff2" type="font/woff2"><link as="font" crossorigin rel="preload" href="https://fonts.gstatic.com/s/poppins/v24/pxiDyp8kv8JHgFVrJJLmy15VF9eOYktMqg.woff2" type="font/woff2"><link as="font" crossorigin rel="preload" href="https://fonts.gstatic.com/s/poppins/v24/pxiEyp8kv8JHgFVrJJbecnFHGPezSQ.woff2" type="font/woff2"><link as="font" crossorigin rel="preload" href="https://fonts.gstatic.com/s/poppins/v24/pxiEyp8kv8JHgFVrJJnecnFHGPezSQ.woff2" type="font/woff2"><link as="font" crossorigin rel="preload" href="https://fonts.gstatic.com/s/poppins/v24/pxiEyp8kv8JHgFVrJJfecnFHGPc.woff2" type="font/woff2"><link as="font" crossorigin rel="preload" href="https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLEj6Z11lFd2JQEl8qw.woff2" type="font/woff2"><link as="font" crossorigin rel="preload" href="https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLEj6Z1JlFd2JQEl8qw.woff2" type="font/woff2"><link as="font" crossorigin rel="preload" href="https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLEj6Z1xlFd2JQEk.woff2" type="font/woff2"><style>@font-face {unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;font-weight: 400;font-style: italic;font-family: 'Poppins';font-display: swap;src: url(https://fonts.gstatic.com/s/poppins/v24/pxiGyp8kv8JHgFVrJJLucXtAOvWDSHFF.woff2)} @font-face {unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;font-weight: 400;font-style: italic;font-family: 'Poppins';font-display: swap;src: url(https://fonts.gstatic.com/s/poppins/v24/pxiGyp8kv8JHgFVrJJLufntAOvWDSHFF.woff2)} @font-face {unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;font-weight: 400;font-style: italic;font-family: 'Poppins';font-display: swap;src: url(https://fonts.gstatic.com/s/poppins/v24/pxiGyp8kv8JHgFVrJJLucHtAOvWDSA.woff2)} @font-face {unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;font-weight: 700;font-style: italic;font-family: 'Poppins';font-display: swap;src: url(https://fonts.gstatic.com/s/poppins/v24/pxiDyp8kv8JHgFVrJJLmy15VFteOYktMqlap.woff2)} @font-face {unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;font-weight: 700;font-style: italic;font-family: 'Poppins';font-display: swap;src: url(https://fonts.gstatic.com/s/poppins/v24/pxiDyp8kv8JHgFVrJJLmy15VGdeOYktMqlap.woff2)} @font-face {unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;font-weight: 700;font-style: italic;font-family: 'Poppins';font-display: swap;src: url(https://fonts.gstatic.com/s/poppins/v24/pxiDyp8kv8JHgFVrJJLmy15VF9eOYktMqg.woff2)} @font-face {unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;font-weight: 400;font-style: normal;font-family: 'Poppins';font-display: swap;src: url(https://fonts.gstatic.com/s/poppins/v24/pxiEyp8kv8JHgFVrJJbecnFHGPezSQ.woff2)} @font-face {unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;font-weight: 400;font-style: normal;font-family: 'Poppins';font-display: swap;src: url(https://fonts.gstatic.com/s/poppins/v24/pxiEyp8kv8JHgFVrJJnecnFHGPezSQ.woff2)} @font-face {unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;font-weight: 400;font-style: normal;font-family: 'Poppins';font-display: swap;src: url(https://fonts.gstatic.com/s/poppins/v24/pxiEyp8kv8JHgFVrJJfecnFHGPc.woff2)} @font-face {unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;font-weight: 600;font-style: normal;font-family: 'Poppins';font-display: swap;src: url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLEj6Z11lFd2JQEl8qw.woff2)} @font-face {unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;font-weight: 600;font-style: normal;font-family: 'Poppins';font-display: swap;src: url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLEj6Z1JlFd2JQEl8qw.woff2)} @font-face {unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;font-weight: 600;font-style: normal;font-family: 'Poppins';font-display: swap;src: url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLEj6Z1xlFd2JQEk.woff2)} body { font-family: 'Poppins', '_font_fallback_786784655154', sans-serif; } @font-face { font-family: '_font_fallback_786784655154'; size-adjust: 100.00%; src: local('Arial'); ascent-override: 105.00%; descent-override: 35.00%; line-gap-override: 10.00%; }</style><script data-default-mode="light">
  2.  window.mode ??= (() => {
  3.    const defaultMode = document.currentScript.getAttribute('data-default-mode')
  4.    const storageKey = 'mode'
  5.    const store =
  6.      typeof localStorage !== 'undefined'
  7.        ? localStorage
  8.        : { getItem: () => null, setItem: () => {} }
  9.  
  10.    const mediaMatcher = window.matchMedia('(prefers-color-scheme: light)')
  11.  
  12.    mediaMatcher.addEventListener('change', () => {
  13.      applyMode(mode.getMode())
  14.    })
  15.  
  16.    function applyMode(mode) {
  17.      document.documentElement.dataset.mode = mode
  18.      document.documentElement.style.colorScheme = mode
  19.    }
  20.  
  21.    function setMode(mode = defaultMode) {
  22.      store.setItem(storageKey, mode)
  23.      applyMode(mode)
  24.    }
  25.  
  26.    function getMode() {
  27.      return store.getItem(storageKey) || defaultMode
  28.    }
  29.  
  30.    return { setMode, getMode }
  31.  })()
  32.  
  33.  mode.setMode(mode.getMode())
  34. </script> <script type="module">document.addEventListener("astro:after-swap",()=>window.mode.setMode(window.mode.getMode()));</script><meta name="astro-view-transitions-enabled" content="true"><meta name="astro-view-transitions-fallback" content="animate"><script type="module" src="/_astro/ClientRouter.astro_astro_type_script_index_0_lang.CtSceO8m.js"></script><link rel="stylesheet" href="/_astro/_page_.DL7IbyIm.css">
  35. <link rel="stylesheet" href="/_astro/index.BD6cZpuc.css"><script type="module" src="/_astro/page.JlAKmP-M.js"></script></head> <body>  <div class="mx-auto flex min-h-[100svh] w-full max-w-[90%] flex-col justify-between md:max-w-3xl"> <header> <a href="#main" class="absolute -top-full left-8 px-2 py-2 focus:top-8">Skip to main content</a> <div class="flex justify-between py-4 sm:py-8"> <a href="/" class="text-accent flex items-center gap-2 text-4xl font-semibold"> <span class="inline-block text-4xl font-extrabold text-transparent bg-clip-text bg-gradient-to-r from-orange-500 via-yellow-500 to-pink-500"> TopMiniSite </span> </a> <nav class="hidden flex-col justify-end sm:flex"> <ul class="flex gap-6"> <li class="flex flex-col justify-center"> <a href="/blog" class="flex items-center gap-1 whitespace-nowrap text-accent/100" target="_self">  <span class="underline"> Blog </span> </a> </li> <li class="text-2xl"> <a href="/search/" class="flex items-center" aria-label="Search"> <svg width="1em" height="1em" class="clickable" data-icon="tabler:search">   <symbol id="ai:tabler:search" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 10a7 7 0 1 0 14 0a7 7 0 1 0-14 0m18 11l-6-6"/></symbol><use href="#ai:tabler:search"></use>  </svg> </a> </li> <li class="text-2xl"> <dark-light-toggle> <button title="Toggle dark & light mode" class="flex items-center"> <svg width="1em" height="1em" class="clickable block dark:hidden" data-icon="tabler:moon">   <symbol id="ai:tabler:moon" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 3h.393a7.5 7.5 0 0 0 7.92 12.446A9 9 0 1 1 12 2.992z"/></symbol><use href="#ai:tabler:moon"></use>  </svg> <svg width="1em" height="1em" class="clickable hidden dark:block" data-icon="tabler:sun">   <symbol id="ai:tabler:sun" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 12a4 4 0 1 0 8 0a4 4 0 1 0-8 0m-5 0h1m8-9v1m8 8h1m-9 8v1M5.6 5.6l.7.7m12.1-.7l-.7.7m0 11.4l.7.7m-12.1-.7l-.7.7"/></symbol><use href="#ai:tabler:sun"></use>  </svg> </button> </dark-light-toggle> <script type="module">class a extends HTMLElement{connectedCallback(){const e=this.querySelector("button");if(!e)return;const l=window.matchMedia("(prefers-color-scheme: dark)").matches,o=window.localStorage.getItem("theme")||(l?"dark":"light");window.mode.setMode(o),e.setAttribute("aria-label",o);const d=()=>{const t=window.mode.getMode()==="light"?"dark":"light";window.mode.setMode(t),window.localStorage.setItem("theme",t),e.setAttribute("aria-label",t)};e.addEventListener("click",d)}}customElements.get("dark-light-toggle")||customElements.define("dark-light-toggle",a);</script> </li> </ul> </nav> <div class="flex items-center justify-center gap-4 text-2xl sm:hidden"> <dark-light-toggle> <button title="Toggle dark & light mode" class="flex items-center"> <svg width="1em" height="1em" viewBox="0 0 24 24" class="clickable block dark:hidden" data-icon="tabler:moon">   <use href="#ai:tabler:moon"></use>  </svg> <svg width="1em" height="1em" viewBox="0 0 24 24" class="clickable hidden dark:block" data-icon="tabler:sun">   <use href="#ai:tabler:sun"></use>  </svg> </button> </dark-light-toggle>  <a href="/search/" aria-label="Search"> <svg width="1em" height="1em" viewBox="0 0 24 24" class="clickable text-xl" data-icon="tabler:search">   <use href="#ai:tabler:search"></use>  </svg> </a> <mobile-nav-toggle> <button class="flex items-center" title="Toggle mobile nav" aria-label="closed"> <!-- Menu icon (shown when closed) --> <svg width="1em" height="1em" id="mobile-nav-icon-closed" class="block" data-icon="tabler:menu-2">   <symbol id="ai:tabler:menu-2" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16"/></symbol><use href="#ai:tabler:menu-2"></use>  </svg> <svg width="1em" height="1em" id="mobile-nav-icon-open" class="hidden" data-icon="tabler:x">   <symbol id="ai:tabler:x" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M18 6L6 18M6 6l12 12"/></symbol><use href="#ai:tabler:x"></use>  </svg> </button> </mobile-nav-toggle> <script type="module">class a extends HTMLElement{connectedCallback(){const t=document.querySelector("#mobile-nav"),e=this.querySelector("#mobile-nav-icon-closed"),s=this.querySelector("#mobile-nav-icon-open"),o=this.querySelector("button");if(!t||!e||!s||!o)return;const n=()=>!t.classList.contains("hidden"),l=()=>{t.classList.add("hidden"),e.classList.remove("hidden"),e.classList.add("block"),s.classList.remove("block"),s.classList.add("hidden"),o.setAttribute("aria-label","closed")},c=()=>{t.classList.remove("hidden"),e.classList.remove("block"),e.classList.add("hidden"),s.classList.remove("hidden"),s.classList.add("block"),o.setAttribute("aria-label","open")},i=()=>{n()?l():c()};o.addEventListener("click",i)}}customElements.get("mobile-nav-toggle")||customElements.define("mobile-nav-toggle",a);</script> </div> </div> <hr class="border-separate border-accent/75 undefined"> <div id="mobile-nav" class="hidden"> <nav class="flex-col justify-end py-6"> <ul class="flex flex-col items-center gap-2"> <li class="flex flex-col justify-center"> <a href="/blog" class="flex items-center gap-1 whitespace-nowrap text-accent/100" target="_self">  <span class="underline"> Blog </span> </a> </li> </ul> </nav> <hr class="border-separate border-accent/75 undefined"> </div> </header> <div class="mt-4"> <a href="/blog/" class="clickable flex w-fit items-center gap-1"> <svg width="1em" height="1em" class="text-xl" data-icon="tabler:arrow-left">   <symbol id="ai:tabler:arrow-left" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 12h14M5 12l6 6m-6-6l6-6"/></symbol><use href="#ai:tabler:arrow-left"></use>  </svg>
  36. Back to all posts
  37. </a> </div> <aside class="scrollbar-hide fixed h-screen w-full max-w-sm -translate-x-full overflow-y-auto overscroll-y-none pr-8"> <div class="border-accent mt-24 hidden border-r pr-4 opacity-75 transition duration-500 ease-in-out hover:opacity-100 2xl:block
  38.         max-h-[calc(100vh-6rem)] overflow-y-auto sticky top-24"> <img src="https://cdn.blogweb.me/1/screenshot_from_2020_10_22_00_41_02_1315d8711a.png" alt="Best Debt Consolidation Companies image" loading="lazy" decoding="async" fetchpriority="auto" width="200" height="100" class="mx-auto mb-6 max-w-[200px] w-full h-auto rounded-lg object-cover"> <div class="overflow-x-hidden p-4"> <div class="prose prose-lg max-w-full dark:prose-invert prose-h1:text-4xl prose-code:before:!content-none prose-code:after:!content-none sm:prose-h1:text-5xl prose-em:pr-[2px] undefined">  <h2 class="no-anchor mb-2">Table of Contents</h2> <details open> <summary class="cursor-pointer">Show more</summary> <ul class="mt-1 mb-1 list-none">
  39.          <li class="mt-1 mb-1">
  40.                              <a href="#what-is-a-debt-consolidation-loan" class="no-underline hover:underline" aria-label="What is a Debt Consolidation Loan?">
  41.                                What is a Debt Consolidation Loan?
  42.                              </a>
  43.                              
  44.                            </li><li class="mt-1 mb-1">
  45.                              <a href="#how-to-apply-for-a-debt-consolidation-loan" class="no-underline hover:underline" aria-label="How to Apply for a Debt Consolidation Loan">
  46.                                How to Apply for a Debt Consolidation Loan
  47.                              </a>
  48.                              
  49.                            </li><li class="mt-1 mb-1">
  50.                              <a href="#how-do-debt-consolidation-loans-work" class="no-underline hover:underline" aria-label="How do Debt Consolidation Loans Work?">
  51.                                How do Debt Consolidation Loans Work?
  52.                              </a>
  53.                              
  54.                            </li><li class="mt-1 mb-1">
  55.                              <a href="#how-much-can-i-borrow" class="no-underline hover:underline" aria-label="How much can I Borrow?">
  56.                                How much can I Borrow?
  57.                              </a>
  58.                              
  59.                            </li><li class="mt-1 mb-1">
  60.                              <a href="#can-you-get-a-debt-consolidation-loan-with-bad-credit" class="no-underline hover:underline" aria-label="Can you get a Debt Consolidation Loan with Bad Credit?">
  61.                                Can you get a Debt Consolidation Loan with Bad Credit?
  62.                              </a>
  63.                              
  64.                            </li><li class="mt-1 mb-1">
  65.                              <a href="#do-debt-consolidation-loans-hurt-your-credit" class="no-underline hover:underline" aria-label="Do Debt Consolidation Loans Hurt your Credit?">
  66.                                Do Debt Consolidation Loans Hurt your Credit?
  67.                              </a>
  68.                              
  69.                            </li><li class="mt-1 mb-1">
  70.                              <a href="#what-is-a-good-debt-consolidation-loan-apr" class="no-underline hover:underline" aria-label="What is a Good Debt Consolidation Loan APR?">
  71.                                What is a Good Debt Consolidation Loan APR?
  72.                              </a>
  73.                              
  74.                            </li><li class="mt-1 mb-1">
  75.                              <a href="#can-you-pay-off-a-debt-consolidation-loan-early" class="no-underline hover:underline" aria-label="Can you Pay off a Debt Consolidation Loan Early?">
  76.                                Can you Pay off a Debt Consolidation Loan Early?
  77.                              </a>
  78.                              
  79.                            </li><li class="mt-1 mb-1">
  80.                              <a href="#look-for-the-best-debt-consolidation-companies-to-save-the-most-money" class="no-underline hover:underline" aria-label="Look for the Best Debt Consolidation Companies to Save the Most Money">
  81.                                Look for the Best Debt Consolidation Companies to Save the Most Money
  82.                              </a>
  83.                              
  84.                            </li>
  85.          </ul> </details>  </div>  </div> </div> </aside> <main id="main" class="mt-6 sm:mt-12"> <div class="prose prose-lg max-w-full dark:prose-invert prose-h1:text-4xl prose-code:before:!content-none prose-code:after:!content-none sm:prose-h1:text-5xl prose-em:pr-[2px] mb-6 sm:mb-12">    <h1 class="mt-2 mb-2 sm:my-4">Best Debt Consolidation Companies</h1> <div class="flex gap-6 text-base"> <a class="clickable no-underline" href="/tags/undefined"> <svg width="1em" height="1em" class="inline align-middle text-xl" data-icon="tabler:hash">   <symbol id="ai:tabler:hash" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 9h14M5 15h14M11 4L7 20M17 4l-4 16"/></symbol><use href="#ai:tabler:hash"></use>  </svg> <span class="font-normal"></span> </a><a class="clickable no-underline" href="/tags/undefined"> <svg width="1em" height="1em" viewBox="0 0 24 24" class="inline align-middle text-xl" data-icon="tabler:hash">   <use href="#ai:tabler:hash"></use>  </svg> <span class="font-normal"></span> </a><a class="clickable no-underline" href="/tags/undefined"> <svg width="1em" height="1em" viewBox="0 0 24 24" class="inline align-middle text-xl" data-icon="tabler:hash">   <use href="#ai:tabler:hash"></use>  </svg> <span class="font-normal"></span> </a><a class="clickable no-underline" href="/tags/undefined"> <svg width="1em" height="1em" viewBox="0 0 24 24" class="inline align-middle text-xl" data-icon="tabler:hash">   <use href="#ai:tabler:hash"></use>  </svg> <span class="font-normal"></span> </a><a class="clickable no-underline" href="/tags/undefined"> <svg width="1em" height="1em" viewBox="0 0 24 24" class="inline align-middle text-xl" data-icon="tabler:hash">   <use href="#ai:tabler:hash"></use>  </svg> <span class="font-normal"></span> </a> </div> <div class="mt-4 flex justify-between"> <span class="opacity-75">Published on <time datetime="2025-09-20T16:35:08.173Z">Sep 20, 2025</time></span> <div class="flex gap-x-2 items-center"> <svg width="1em" height="1em" class="text-base" data-icon="tabler:clock">   <symbol id="ai:tabler:clock" viewBox="0 0 24 24"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M3 12a9 9 0 1 0 18 0a9 9 0 0 0-18 0"/><path d="M12 7v5l3 3"/></g></symbol><use href="#ai:tabler:clock"></use>  </svg> <span class="whitespace-nowrap opacity-75">6 min read </span> </div> </div>  <div class="mt-8 w-full rounded-sm border 2xl:hidden"> <div class="overflow-x-hidden p-4"> <div class="prose prose-lg max-w-full dark:prose-invert prose-h1:text-4xl prose-code:before:!content-none prose-code:after:!content-none sm:prose-h1:text-5xl prose-em:pr-[2px] undefined">  <h2 class="no-anchor mb-2">Table of Contents</h2> <details> <summary class="cursor-pointer">Show more</summary> <ul class="mt-1 mb-1 list-none">
  86.          <li class="mt-1 mb-1">
  87.                              <a href="#what-is-a-debt-consolidation-loan" class="no-underline hover:underline" aria-label="What is a Debt Consolidation Loan?">
  88.                                What is a Debt Consolidation Loan?
  89.                              </a>
  90.                              
  91.                            </li><li class="mt-1 mb-1">
  92.                              <a href="#how-to-apply-for-a-debt-consolidation-loan" class="no-underline hover:underline" aria-label="How to Apply for a Debt Consolidation Loan">
  93.                                How to Apply for a Debt Consolidation Loan
  94.                              </a>
  95.                              
  96.                            </li><li class="mt-1 mb-1">
  97.                              <a href="#how-do-debt-consolidation-loans-work" class="no-underline hover:underline" aria-label="How do Debt Consolidation Loans Work?">
  98.                                How do Debt Consolidation Loans Work?
  99.                              </a>
  100.                              
  101.                            </li><li class="mt-1 mb-1">
  102.                              <a href="#how-much-can-i-borrow" class="no-underline hover:underline" aria-label="How much can I Borrow?">
  103.                                How much can I Borrow?
  104.                              </a>
  105.                              
  106.                            </li><li class="mt-1 mb-1">
  107.                              <a href="#can-you-get-a-debt-consolidation-loan-with-bad-credit" class="no-underline hover:underline" aria-label="Can you get a Debt Consolidation Loan with Bad Credit?">
  108.                                Can you get a Debt Consolidation Loan with Bad Credit?
  109.                              </a>
  110.                              
  111.                            </li><li class="mt-1 mb-1">
  112.                              <a href="#do-debt-consolidation-loans-hurt-your-credit" class="no-underline hover:underline" aria-label="Do Debt Consolidation Loans Hurt your Credit?">
  113.                                Do Debt Consolidation Loans Hurt your Credit?
  114.                              </a>
  115.                              
  116.                            </li><li class="mt-1 mb-1">
  117.                              <a href="#what-is-a-good-debt-consolidation-loan-apr" class="no-underline hover:underline" aria-label="What is a Good Debt Consolidation Loan APR?">
  118.                                What is a Good Debt Consolidation Loan APR?
  119.                              </a>
  120.                              
  121.                            </li><li class="mt-1 mb-1">
  122.                              <a href="#can-you-pay-off-a-debt-consolidation-loan-early" class="no-underline hover:underline" aria-label="Can you Pay off a Debt Consolidation Loan Early?">
  123.                                Can you Pay off a Debt Consolidation Loan Early?
  124.                              </a>
  125.                              
  126.                            </li><li class="mt-1 mb-1">
  127.                              <a href="#look-for-the-best-debt-consolidation-companies-to-save-the-most-money" class="no-underline hover:underline" aria-label="Look for the Best Debt Consolidation Companies to Save the Most Money">
  128.                                Look for the Best Debt Consolidation Companies to Save the Most Money
  129.                              </a>
  130.                              
  131.                            </li>
  132.          </ul> </details>  </div>  </div> </div> <div class="2xl:hidden"> <img src="https://cdn.blogweb.me/1/screenshot_from_2020_10_22_00_41_02_1315d8711a.png" alt="Best Debt Consolidation Companies image" loading="lazy" decoding="async" fetchpriority="auto" width="400" height="300" class="mx-auto mb-6 max-w-[400px] w-full h-auto rounded-lg object-cover"> </div> <article data-pagefind-body>  <div class="max-w-7xl mx-auto"> <h2 class="ignore text-2xl font-bold mb-4 text-center">Best Debt Consolidation Solutions to Buy in October 2025</h2> <div class="flex flex-col gap-6">  <style>astro-island,astro-slot,astro-static-slot{display:contents}</style><script>(()=>{var l=(n,t)=>{let i=async()=>{await(await n())()},e=typeof t.value=="object"?t.value:void 0,s={timeout:e==null?void 0:e.timeout};"requestIdleCallback"in window?window.requestIdleCallback(i,s):setTimeout(i,s.timeout||200)};(self.Astro||(self.Astro={})).idle=l;window.dispatchEvent(new Event("astro:idle"));})();</script><script>(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var d=(i,o,a)=>g(i,typeof o!="symbol"?o+"":o,a);{let i={0:t=>m(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t),11:t=>1/0*t},o=t=>{let[l,e]=t;return l in i?i[l](e):void 0},a=t=>t.map(o),m=t=>typeof t!="object"||t===null?t:Object.fromEntries(Object.entries(t).map(([l,e])=>[l,o(e)]));class y extends HTMLElement{constructor(){super(...arguments);d(this,"Component");d(this,"hydrator");d(this,"hydrate",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest("astro-island[ssr]");if(e){e.addEventListener("astro:hydrate",this.hydrate,{once:!0});return}let c=this.querySelectorAll("astro-slot"),n={},h=this.querySelectorAll("template[data-astro-template]");for(let r of h){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("data-astro-template")||"default"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("name")||"default"]=r.innerHTML)}let p;try{p=this.hasAttribute("props")?m(JSON.parse(this.getAttribute("props"))):{}}catch(r){let s=this.getAttribute("component-url")||"<unknown>",v=this.getAttribute("component-export");throw v&&(s+=` (export ${v})`),console.error(`[hydrate] Error parsing props for component ${s}`,this.getAttribute("props"),r),r}let u;await this.hydrator(this)(this.Component,p,n,{client:this.getAttribute("client")}),this.removeAttribute("ssr"),this.dispatchEvent(new CustomEvent("astro:hydrate"))});d(this,"unmount",()=>{this.isConnected||this.dispatchEvent(new CustomEvent("astro:unmount"))})}disconnectedCallback(){document.removeEventListener("astro:after-swap",this.unmount),document.addEventListener("astro:after-swap",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute("await-children")||document.readyState==="interactive"||document.readyState==="complete")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener("DOMContentLoaded",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue==="astro:end"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener("DOMContentLoaded",e)}}async childrenConnectedCallback(){let e=this.getAttribute("before-hydration-url");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute("opts")),c=this.getAttribute("client");if(Astro[c]===void 0){window.addEventListener(`astro:${c}`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute("renderer-url"),[h,{default:p}]=await Promise.all([import(this.getAttribute("component-url")),n?import(n):()=>()=>{}]),u=this.getAttribute("component-export")||"default";if(!u.includes("."))this.Component=h[u];else{this.Component=h;for(let f of u.split("."))this.Component=this.Component[f]}return this.hydrator=p,this.hydrate},e,this)}catch(n){console.error(`[astro-island] Error hydrating ${this.getAttribute("component-url")}`,n)}}attributeChangedCallback(){this.hydrate()}}d(y,"observedAttributes",["props"]),customElements.get("astro-island")||customElements.define("astro-island",y)}})();</script><astro-island uid="ZIw6ij" prefix="r1" component-url="/_astro/AddProductModal.DwKQYgIk.js" component-export="default" renderer-url="/_astro/client.BPIbHqJh.js" props="{&quot;isProd&quot;:[0,true],&quot;sponsoredCost&quot;:[0,15]}" ssr client="idle" opts="{&quot;name&quot;:&quot;AddProductModal&quot;,&quot;value&quot;:true}" await-children><div class="flex md:flex-row flex-col cursor-pointer w-full border rounded-2xl p-4 shadow-lg flex items-center gap-4 border-dashed border-gray-300 dark:border-gray-600 bg-gray-50 dark:bg-gray-800 relative"><span class="absolute top-2 left-2 text-lg font-bold border border-2 border-gray-400 w-10 h-10 flex items-center justify-center rounded-full text-gray-400">+</span><div class="w-[100px] h-[100px] mt-10 bg-gray-300 dark:bg-gray-700 rounded-lg"></div><div class="flex-1 space-y-2 min-h-[80px] w-full"><div class="h-5 bg-gray-300 dark:bg-gray-700 mb-5 rounded w-3/4"></div><div class="h-4 bg-gray-200 dark:bg-gray-600 rounded w-2/4"></div><div class="h-4 bg-gray-200 dark:bg-gray-600 rounded w-2/4"></div><div class="h-4 bg-gray-200 dark:bg-gray-600 rounded w-2/4"></div></div><div class="flex flex-col items-center space-y-2"><span class="bg-orange-500 text-white dark:text-black font-bold text-center py-2 px-4 rounded-xl hover:bg-orange-600 transition">ONE MORE?</span></div></div><!--astro:end--></astro-island> </div> </div> <p>If you’re in over your head in debt, you may wonder how to find the best way to consolidate debt. Making minimum payments gets you nowhere, but you can’t afford anything else. If you’re tired of living <a href="https://small--loans.com/blog/how-many-loans-are-too-many">under the burden of debt</a>, consider a debt consolidation loan.</p>
  133. <p>Debt consolidation loans aren’t hard to get. They can help you financially, and may even improve your credit score.</p>
  134. <p>Check out the best debt consolidation companies below.</p>
  135. <h2 id="user-content-what-is-a-debt-consolidation-loan">What is a Debt Consolidation Loan?</h2>
  136. <p>A debt consolidation loan is typically an unsecured loan you take out with a personal loan lender without putting down any collateral.</p>
  137. <p>Unlike a mortgage or car loan, personal loan lenders don’t have anything to fall back on if you default. In exchange for the ‘flexible guidelines’ <a href="https://almarefa.net/blog/how-to-calculate-interest-on-a-personal-loan">they charge higher interest rates</a> and/or more fees, but they are often much less than you’d pay on your high interest credit card debt and are one of the best ways to consolidate debt.</p>
  138. <p>Today, the average personal loan interest rate is around 9.5% and the average credit card interest rate is just under 16%, so it’s easy to see how a debt consolidation <a href="https://small--loans.com/blog/how-to-get-a-payday-loan-today">loan can help</a>.</p>
  139. <p>But how do you get one?</p>
  140. <h2 id="user-content-how-to-apply-for-a-debt-consolidation-loan">How to Apply for a Debt Consolidation Loan</h2>
  141. <p>Most companies offer debt consolidation loan applications online. It takes just a few minutes with the following steps:</p>
  142. <ol>
  143. <li><strong>Complete a loan application.</strong> You’ll answer questions about yourself, income, and assets. Make sure you know how much money you need (the total of your debts) too.</li>
  144. <li><strong>You’ll receive an offer(s) from one or more lenders.</strong> Compare the offers provided to determine which loan suits you the most. Look at the interest rate, fees, and cost of the loan over its lifetime.</li>
  145. <li><strong>Choose an offer and let the lender pull your credit.</strong> Once you are ready to move forward, the lender will do a hard pull on your credit report to make sure you qualify.</li>
  146. <li><strong>Provide any necessary documentation.</strong> Lenders may ask for your paystubs, W-2s, tax returns, or bank statements.</li>
  147. <li><strong>Receive the funds.</strong> Usually, you’ll receive funds within one to five business days depending on the chosen lender.</li>
  148. </ol>
  149. <h2 id="user-content-how-do-debt-consolidation-loans-work">How do Debt Consolidation Loans Work?</h2>
  150. <p><img src="/public/blog/07e7c825-2152-499b-b387-686e05f259d4/screenshot-from-2020-10-22-00-42-18.png" alt=""></p>
  151. <p>When lenders fund the loan, they <a href="https://elvanco.com/blog/how-to-get-a-loan-without-a-direct-deposit">direct deposit</a> the funds in your bank account. You then use the funds as needed. In other words, you are in charge of paying your creditors off. Make sure you have your statements ready and know exactly how much to send to each creditor.</p>
  152. <p>Now, rather than multiple payments each month, you make one payment to your personal loan lender. It helps keep you organized (<a href="https://twynedocs.com/blog/what-happens-if-a-payday-loan-is-not-paid">no more missed payments</a>). Plus, debt consolidation loans typically have lower interest rates than you pay on your credit cards, making it one of the best ways to consolidate debt.</p>
  153. <h2 id="user-content-how-much-can-i-borrow">How much can I Borrow?</h2>
  154. <p>Like any other loan, the amount you can borrow varies based on your <a href="https://coding.ignorelist.com/blog/how-to-get-a-cybersecurity-analyst-job-without-a">qualifications</a> and/or needs. Debt consolidation lenders usually offer loans from $1,000 to $50,000. The more money you need, the higher qualifications you need.</p>
  155. <h2 id="user-content-can-you-get-a-debt-consolidation-loan-with-bad-credit">Can you get a Debt Consolidation Loan with Bad Credit?</h2>
  156. <p>Personal loan lenders consider ‘bad’ credit anything less than 630 in most cases. This doesn’t mean you can’t get a debt consolidation loan with bad credit, but you may pay higher interest rates or fees.</p>
  157. <p>If you have bad credit do one of the following:</p>
  158. <ul>
  159. <li>Look for a personal loan lender who allows cosigners. Not all lenders do, so read the fine print. If you have a cosigner with good credit who’s willing to go on the loan, you increase your chances of approval and/or <a href="https://topminisite.com/blog/how-to-get-small-personal-loan-for-3-years">getting lower rates</a>.</li>
  160. <li>Work on your credit. If you know the issues with your credit, work on it. Bring your late payments current, fix any errors, or report any fraudulent information to the credit bureaus right away.</li>
  161. </ul>
  162. <p>If you can’t fix your credit or are in a hurry, look for one of the best debt consolidation loans for bad credit. Just watch the terms to make sure you aren’t paying more than you already do on your current debt.</p>
  163. <h2 id="user-content-do-debt-consolidation-loans-hurt-your-credit">Do Debt Consolidation Loans Hurt your Credit?</h2>
  164. <p><img src="/public/blog/80e18e07-6c30-4393-9504-9ee0b6fd3054/screenshot-from-2020-10-22-00-43-08.png" alt=""></p>
  165. <p>Initially, you may see a drop in your credit score, when you take out a debt consolidation loan. That’s only because you increased your outstanding credit. If you pay your credit cards off right away, though, your credit score will likely <a href="https://modernamericanschool.com/blog/how-to-ask-for-a-raise">increase rather quickly</a>.</p>
  166. <p>The second largest component of your credit score is your credit utilization or a comparison of your outstanding credit compared to your total credit line. Once you pay your credit cards off in full, your credit score will reflect the lower credit utilization.</p>
  167. <h2 id="user-content-what-is-a-good-debt-consolidation-loan-apr">What is a Good Debt Consolidation Loan APR?</h2>
  168. <p>Debt consolidation loan APRS average around 10%, but can go as high as 35.99% depending on the lender and your qualifications.</p>
  169. <p><strong>Compare the APR</strong> offered to you to the interest rates you pay on your credit cards or other consumer debt. Is there a savings? Look not only at the monthly payment (it may be higher than individual debts if you consolidate debt) but at the cost of the loan over its term. Compare it to the total cost of your individual debts.</p>
  170. <p>If you can save money, it’s worth consolidating your debt and improving your credit score.</p>
  171. <h2 id="user-content-"><strong>Can you Pay off a Debt Consolidation Loan Early?</strong></h2>
  172. <p>Most lenders don’t charge prepayment penalties but read the fine print. You can usually <a href="https://forum.expacting.com/thread/can-i-pay-off-my-mortgage-early-in-idaho-and-are">pay the loans off early</a>, saving you even more money on interest. If you have extra money, after making the minimum required payment, pay your principal balance down and get out of debt faster.</p>
  173. <h2 id="user-content-"><strong>Look for the Best Debt Consolidation Companies to Save the Most Money</strong></h2>
  174. <p>The purpose of a debt consolidation loan is to save money, not only monthly, but over the life of the debt. Look for the best debt consolidation companies for the most attractive terms, <a href="https://forum.expacting.com/thread/best-mortgage-rates-in-maryland">lowest rates</a>, and most flexible underwriting guidelines.</p>
  175. <p>If you’re tired of living under the burden of excessive consumer debt, it’s time to consolidate and get your finances back on track. Lock up your credit cards and pay your balances off so you improve your credit score and achieve the financial freedom you desire.</p>
  176. </article> <div class="mt-5 flex justify-center"> <script>(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).only=e;window.dispatchEvent(new Event("astro:only"));})();</script><astro-island uid="Zv5Tst" component-url="/_astro/ShareInSocialNetworks.AWxQj_p-.js" component-export="default" renderer-url="/_astro/client.BPIbHqJh.js" props="{&quot;url&quot;:[0,&quot;https://topminisite.com/blog/best-debt-consolidation-companies.html&quot;],&quot;title&quot;:[0,&quot;Best Debt Consolidation Companies&quot;]}" ssr client="only" opts="{&quot;name&quot;:&quot;ShareInSocialNetworks&quot;,&quot;value&quot;:&quot;react&quot;}"></astro-island> </div>  <script data-astro-rerun>
  177.    function setupHeadingAnchors() {
  178.        const headings = Array.from(document.querySelectorAll('h2, h3, h4, h5, h6'))
  179.            .filter(heading => !heading.classList.contains('ignore'));
  180.  
  181.        for (const heading of headings) {
  182.            if (heading.classList.contains('no-anchor')) continue;
  183.  
  184.            heading.classList.add('group');
  185.            heading.id = heading.innerText.trim().toLowerCase().replace(/\s+/g, '-').replace(/[^\w-]/g, '');
  186.  
  187.            const link = document.createElement('a');
  188.            link.innerText = '#';
  189.            link.className = 'heading-link lg:hidden inline group-hover:inline-block ml-3 no-underline';
  190.            link.href = '#' + heading.id;
  191.            link.setAttribute('aria-hidden', 'true');
  192.  
  193.            heading.appendChild(link);
  194.        }
  195.    }
  196.  
  197.    setupHeadingAnchors();
  198. </script>   </div>  </main> <div class="flex grow flex-col justify-end"> <div class="my-4 grid grid-cols-3"> <div class="flex flex-col items-start"> <a href="/blog/the-best-blogging-platforms" class="clickable"> <div class="flex items-center justify-start gap-1"> <svg width="1em" height="1em" viewBox="0 0 24 24" class="text-xl" data-icon="tabler:arrow-left">   <use href="#ai:tabler:arrow-left"></use>  </svg> <span>Next post</span> </div> <span class="mt-2 text-lg sm:text-xl">The Best Blogging Platforms</span> </a> </div> <div class="col-start-3 flex flex-col items-end"> <a href="/blog/best-student-loan-companies" class="clickable"> <div class="flex items-center justify-end gap-1"> <span>Previous post</span> <svg width="1em" height="1em" class="text-xl" data-icon="tabler:arrow-right">   <symbol id="ai:tabler:arrow-right" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 12h14m-6 6l6-6m-6-6l6 6"/></symbol><use href="#ai:tabler:arrow-right"></use>  </svg> </div> <span class="mt-2 text-lg sm:text-xl">Best Student Loan Companies</span> </a> </div> </div> </div> <footer class="mt-auto"> <hr class="border-separate border-accent/75 undefined"> <div class="flex items-center flex-col md:flex-row justify-between gap-2 py-4 text-2xl sm:py-8"> <span class="text-base">&#169; 2025 Copyright: topminisite.com</span> <div class="grow"></div> <div class="flex flex-col items-center justify-center gap-y-2 sm:flex-row sm:gap-x-4 sm:gap-y-0"> <a class="text-base text-center" href="/terms/" aria-label="Terms" rel="noopener">
  199. Terms
  200. </a> <a class="text-base text-center" href="/privacy-policy/" aria-label="Privacy Policy" rel="noopener">
  201. Privacy
  202. </a> <a href="#" data-cc="show-preferencesModal" class="text-base text-center">
  203. Your privacy choices
  204. </a> <a class="text-base text-center" href="/contact/" aria-label="Contact us" rel="noopener">
  205. Contact us
  206. </a> </div> <a class="flex flex-col justify-center" href="https://x.com/JordanKEurope" target="_blank" aria-label="Twitter" rel="noopener noreferrer"> <svg width="1em" height="1em" class="clickable" data-icon="tabler:brand-x"> <title>Twitter</title>  <symbol id="ai:tabler:brand-x" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m4 4l11.733 16H20L8.267 4zm0 16l6.768-6.768m2.46-2.46L20 4"/></symbol><use href="#ai:tabler:brand-x"></use>  </svg> </a> </div> </footer> </div> <scroll-progress-bar class="fixed top-0 w-full z-50"> <div class="h-1 w-0 bg-gradient-to-r from-orange-500 via-yellow-500 to-pink-500 transition-all duration-150 ease-linear"></div> </scroll-progress-bar> <script type="module">class o extends HTMLElement{connectedCallback(){const t=this.children[0];function c(){const e=document.body.scrollTop||document.documentElement.scrollTop,l=document.documentElement.scrollHeight-document.documentElement.clientHeight;return e/l*100}document.addEventListener("scroll",()=>{const e=c();t.style.width=`${e}%`})}}customElements.get("scroll-progress-bar")||customElements.define("scroll-progress-bar",o);</script><scroll-top-button class="fixed! right-4 bottom-4 z-10 hidden pr-2 sm:right-8 sm:bottom-8 lg:right-16 lg:bottom-16"> <button class="clickable flex items-center gap-2" title="Scroll to top" aria-label="Scroll to top"> <svg width="1em" height="1em" aria-hidden="true" class="text-4xl" data-icon="tabler:arrow-up">   <symbol id="ai:tabler:arrow-up" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 5v14m6-8l-6-6m-6 6l6-6"/></symbol><use href="#ai:tabler:arrow-up"></use>  </svg> </button> </scroll-top-button> <script type="module">class n extends HTMLElement{connectedCallback(){const t=this.querySelector("button");if(!t)return;function e(){const o=document.documentElement.clientHeight;return(document.body.scrollTop||document.documentElement.scrollTop)>o}t.addEventListener("click",()=>{document.body.scrollTop=0,document.documentElement.scrollTop=0}),document.addEventListener("scroll",()=>{e()?this.classList.remove("hidden"):this.classList.add("hidden")})}}customElements.get("scroll-top-button")||customElements.define("scroll-top-button",n);</script> <button class="copy-button" title="Copy"> <svg width="1em" height="1em" class="copy-btn hidden" data-icon="tabler--copy" data-icon="tabler:copy">   <symbol id="ai:tabler:copy" viewBox="0 0 24 24"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M7 9.667A2.667 2.667 0 0 1 9.667 7h8.666A2.667 2.667 0 0 1 21 9.667v8.666A2.667 2.667 0 0 1 18.333 21H9.667A2.667 2.667 0 0 1 7 18.333z"/><path d="M4.012 16.737A2 2 0 0 1 3 15V5c0-1.1.9-2 2-2h10c.75 0 1.158.385 1.5 1"/></g></symbol><use href="#ai:tabler:copy"></use>  </svg> <svg width="1em" height="1em" class="copy-success hidden" data-icon="tabler--check" data-icon="tabler:check">   <symbol id="ai:tabler:check" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m5 12l5 5L20 7"/></symbol><use href="#ai:tabler:check"></use>  </svg> </button> <script data-astro-rerun>
  207.    function setupCopyCodeButtons() {
  208.        document.querySelectorAll('.astro-code-header > button').forEach((btn) => {
  209.            btn.addEventListener('click', async () => {
  210.                const code = btn.closest('.astro-code-header').nextElementSibling.querySelector('.astro-code code');
  211.                const copyIcon = btn.querySelector('.copy-btn');
  212.                const successIcon = btn.querySelector('.copy-success');
  213.  
  214.                if (!code || !copyIcon || !successIcon) return;
  215.  
  216.                await navigator.clipboard.writeText(code.innerText);
  217.  
  218.                // Toggle visibility
  219.                copyIcon.classList.add('hidden');
  220.                successIcon.classList.remove('hidden');
  221.  
  222.                // Revert after 1 second
  223.                setTimeout(() => {
  224.                    copyIcon.classList.remove('hidden');
  225.                    successIcon.classList.add('hidden');
  226.                    }, 1000);
  227.                });
  228.            });
  229.        }
  230.  
  231.        setupCopyCodeButtons();
  232. </script> <script data-astro-rerun src="/zoom-vanilla.js/zoom-vanilla.min.js"></script> </body> </html>
Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda