<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Free Tools for Web Performance on Loadster</title>
    <link>https://loadster.com/tools/</link>
    <description>Recent content in Free Tools for Web Performance on Loadster</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <atom:link href="https://loadster.com/tools/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Free Website Speed Test — Real Chrome, Full Waterfall</title>
      <link>https://loadster.com/tools/website-speed-test/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://loadster.com/tools/website-speed-test/</guid>
      <description>&lt;section class=&#34;hero&#34;&gt;&#xA;  &lt;div class=&#34;wrapper&#34;&gt;&#xA;    &lt;h1&gt;Free Website Speed Test&lt;/h1&gt;&#xA;    &lt;h2&gt;&#xA;      &lt;span class=&#34;xl:block&#34;&gt;&#xA;        Check your site&#39;s performance, page load time, and Core Web Vitals from a real Chrome browser in a location of your choice.&#xA;      &lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;&#xA;    &#xA;    &#xA;    &#xA;    &lt;form action=&#34;https://loadster.com/dashboard/tools/website-speed-test&#34; method=&#34;GET&#34; class=&#34;cta-form lg:text-2xl&#34;&gt;&#xA;      &#xA;      &lt;div class=&#34;text-light text-base lg:text-xl&#34;&gt;Enter your site&amp;#39;s URL for a free Loadster site speed report.&lt;/div&gt;&#xA;      &#xA;      &#xA;      &lt;input type=&#34;hidden&#34; name=&#34;intent&#34; value=&#34;SpeedTest&#34;/&gt;&#xA;      &#xA;      &lt;div class=&#34;flex flex-col md:flex-row w-full gap-3 pt-3&#34;&gt;&#xA;        &lt;input name=&#34;url&#34; placeholder=&#34;https://&#34; class=&#34;grow lg:w-0 bg-highlight min-w-0 rounded-lg p-2 md:p-4 focus:ring-0! focus:ring-offset-0&#34;/&gt;&#xA;        &lt;select id=&#34;cta-form-region&#34; name=&#34;region&#34; class=&#34;cta-form__region-select text-xl py-3&#34;&gt;&#xA;          &lt;option value=&#34;&#34;&gt;Any Region&lt;/option&gt;&#xA;          &#xA;          &lt;optgroup label=&#34;North America&#34;&gt;&#xA;            &#xA;            &lt;option value=&#34;216c99f8-7621-439f-918d-34efce769b85&#34;&gt;United States — Central&lt;/option&gt;&#xA;            &#xA;            &lt;option value=&#34;083a7eca-622a-4f82-8a78-fd5c7a4373e2&#34;&gt;United States — East&lt;/option&gt;&#xA;            &#xA;            &lt;option value=&#34;c3f2feb9-da05-468a-903f-a7fe93bb5c68&#34;&gt;United States — West&lt;/option&gt;&#xA;            &#xA;          &lt;/optgroup&gt;&#xA;          &#xA;          &lt;optgroup label=&#34;South America&#34;&gt;&#xA;            &#xA;            &lt;option value=&#34;21a5984b-1533-11ea-9ada-1258e6864d56&#34;&gt;Brazil&lt;/option&gt;&#xA;            &#xA;          &lt;/optgroup&gt;&#xA;          &#xA;          &lt;optgroup label=&#34;Europe&#34;&gt;&#xA;            &#xA;            &lt;option value=&#34;659d9cdb-2c36-4b0f-a97e-9e7c359ccb50&#34;&gt;United Kingdom&lt;/option&gt;&#xA;            &#xA;            &lt;option value=&#34;17115b9a-6b99-11e9-a13b-1258e6864d56&#34;&gt;Netherlands&lt;/option&gt;&#xA;            &#xA;          &lt;/optgroup&gt;&#xA;          &#xA;          &lt;optgroup label=&#34;Asia Pacific&#34;&gt;&#xA;            &#xA;            &lt;option value=&#34;1c2517d3-6b99-11e9-a13b-1258e6864d56&#34;&gt;Singapore&lt;/option&gt;&#xA;            &#xA;            &lt;option value=&#34;28d1b1e9-1533-11ea-9ada-1258e6864d56&#34;&gt;Australia&lt;/option&gt;&#xA;            &#xA;          &lt;/optgroup&gt;&#xA;          &#xA;        &lt;/select&gt;&#xA;        &lt;button type=&#34;submit&#34; class=&#34;btn btn-primary text-2xl&#34;&gt;&#xA;          &lt;span class=&#34;sr-only&#34;&gt;Run Speed Test&lt;/span&gt;&#xA;          &lt;svg class=&#34;btn__icon w-10 h-10&#34;&gt;&#xA;            &lt;use href=&#34;#chevrons_right&#34;&gt;&lt;/use&gt;&#xA;          &lt;/svg&gt;&#xA;        &lt;/button&gt;&#xA;      &lt;/div&gt;&#xA;      &lt;div class=&#34;cta-form__region&#34;&gt;&#xA;      &lt;/div&gt;&#xA;    &lt;/form&gt;&#xA;&#xA;  &lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&#xA;&lt;div class=&#34;hidden md:block&#34;&gt;&#xA;  &lt;div class=&#34;relative h-[300px] opacity-100 overflow-x-clip&#34;&gt;&#xA;    &lt;svg id=&#34;monitor-svg&#34; viewBox=&#34;0 0 480 160&#34; overflow=&#34;visible&#34; fill=&#34;none&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;         class=&#34;relative h-full mx-auto&#34; style=&#34;aspect-ratio: 3/1&#34; role=&#34;img&#34; aria-label=&#34;Site Monitoring Pattern&#34;&gt;&#xA;      &#xA;      &lt;line x1=&#34;-3000&#34; y1=&#34;150&#34; x2=&#34;3480&#34; y2=&#34;150&#34; stroke=&#34;#daffbf&#34; stroke-width=&#34;20&#34; stroke-linecap=&#34;round&#34; vector-effect=&#34;non-scaling-stroke&#34;/&gt;&#xA;      &#xA;      &lt;g id=&#34;monitor-sticks&#34;&gt;&#xA;        &lt;path d=&#34;M20 150 L20 49 Q20 45 23.90 43.95 L36.10 40.69 Q40 39.64 40 43.64 L40 150Z&#34; fill=&#34;#daffbf&#34;/&gt;&#xA;        &lt;path d=&#34;M50 150 L50 42 Q50 38 53.90 36.95 L66.10 33.69 Q70 32.64 70 36.64 L70 150Z&#34; fill=&#34;#daffbf&#34;/&gt;&#xA;        &lt;path d=&#34;M80 150 L80 54 Q80 50 83.90 48.95 L96.10 45.69 Q100 44.64 100 48.64 L100 150Z&#34; fill=&#34;#daffbf&#34;/&gt;&#xA;        &lt;path d=&#34;M110 150 L110 46 Q110 42 113.90 40.95 L126.10 37.69 Q130 36.64 130 40.64 L130 150Z&#34; fill=&#34;#daffbf&#34;/&gt;&#xA;        &lt;path d=&#34;M140 150 L140 59 Q140 55 143.90 53.95 L156.10 50.69 Q160 49.64 160 53.64 L160 150Z&#34; fill=&#34;#daffbf&#34;/&gt;&#xA;        &lt;path d=&#34;M170 150 L170 39 Q170 35 173.90 33.95 L186.10 30.69 Q190 29.64 190 33.64 L190 150Z&#34; fill=&#34;#daffbf&#34;/&gt;&#xA;        &lt;path d=&#34;M200 150 L200 52 Q200 48 203.90 46.95 L216.10 43.69 Q220 42.64 220 46.64 L220 150Z&#34; fill=&#34;#daffbf&#34;/&gt;&#xA;        &lt;path d=&#34;M230 150 L230 44 Q230 40 233.90 38.95 L246.10 35.69 Q250 34.64 250 38.64 L250 150Z&#34; fill=&#34;#daffbf&#34;/&gt;&#xA;        &lt;path d=&#34;M260 150 L260 124 Q260 120 263.90 118.95 L276.10 115.69 Q280 114.64 280 118.64 L280 150Z&#34; fill=&#34;#daffbf&#34;/&gt;&#xA;        &lt;path d=&#34;M290 150 L290 50 Q290 46 293.90 44.95 L306.10 41.69 Q310 40.64 310 44.64 L310 150Z&#34; fill=&#34;#daffbf&#34;/&gt;&#xA;        &lt;path d=&#34;M320 150 L320 42 Q320 38 323.90 36.95 L336.10 33.69 Q340 32.64 340 36.64 L340 150Z&#34; fill=&#34;#daffbf&#34;/&gt;&#xA;        &lt;path d=&#34;M350 150 L350 56 Q350 52 353.90 50.95 L366.10 47.69 Q370 46.64 370 50.64 L370 150Z&#34; fill=&#34;#daffbf&#34;/&gt;&#xA;        &lt;path d=&#34;M380 150 L380 46 Q380 42 383.90 40.95 L396.10 37.69 Q400 36.64 400 40.64 L400 150Z&#34; fill=&#34;#daffbf&#34;/&gt;&#xA;        &lt;path d=&#34;M410 150 L410 39 Q410 35 413.90 33.95 L426.10 30.69 Q430 29.64 430 33.64 L430 150Z&#34; fill=&#34;#daffbf&#34;/&gt;&#xA;        &lt;path d=&#34;M440 150 L440 48 Q440 44 443.90 42.95 L456.10 39.69 Q460 38.64 460 42.64 L460 150Z&#34; fill=&#34;#daffbf&#34;/&gt;&#xA;      &lt;/g&gt;&#xA;    &lt;/svg&gt;&#xA;  &lt;/div&gt;&#xA;  &#xA;  &lt;script&gt;&#xA;  (function () {&#xA;    const pool = [45, 38, 50, 42, 55, 35, 48, 40, 120, 46, 38, 52, 42, 35, 44,&#xA;                  42, 30, 48, 55, 38, 110, 45, 40, 52, 35, 50, 44, 42, 36, 48];&#xA;    const sticks = document.querySelectorAll(&#39;#monitor-sticks path&#39;);&#xA;    const count = sticks.length;&#xA;    const slopeRise = 20 * Math.tan(15 * Math.PI / 180);&#xA;    const slopeLen = Math.sqrt(400 + slopeRise * slopeRise);&#xA;    const R = 4;&#xA;    const sdx = R * 20 / slopeLen;&#xA;    const sdy = R * slopeRise / slopeLen;&#xA;    const currentHeights = [];&#xA;    let offset = 0;&#xA;  &#xA;    for (let i = 0; i &lt; count; i++) {&#xA;      currentHeights[i] = pool[i];&#xA;    }&#xA;  &#xA;    function pathD(i, topY) {&#xA;      const l = 20 + i * 30;&#xA;      const r = l + 20;&#xA;      const tr = topY - slopeRise;&#xA;      return `M${l} 150L${l} ${topY + R}Q${l} ${topY} ${l + sdx} ${topY - sdy}L${r - sdx} ${tr + sdy}Q${r} ${tr} ${r} ${tr + R}L${r} 150Z`;&#xA;    }&#xA;  &#xA;    function easeInOut(t) {&#xA;      return t &lt; 0.5 ? 2 * t * t : 1 - (-2 * t + 2) * (-2 * t + 2) / 2;&#xA;    }&#xA;  &#xA;    function shift() {&#xA;      const oldHeights = currentHeights.slice();&#xA;  &#xA;      offset = (offset + 1) % pool.length;&#xA;      const newHeights = [];&#xA;      for (let i = 0; i &lt; count; i++) {&#xA;        newHeights[i] = pool[(i + offset) % pool.length];&#xA;      }&#xA;  &#xA;      const duration = 500;&#xA;      const start = performance.now();&#xA;  &#xA;      function frame(now) {&#xA;        const t = easeInOut(Math.min((now - start) / duration, 1));&#xA;        for (let i = 0; i &lt; count; i++) {&#xA;          currentHeights[i] = oldHeights[i] + (newHeights[i] - oldHeights[i]) * t;&#xA;          sticks[i].setAttribute(&#39;d&#39;, pathD(i, currentHeights[i]));&#xA;        }&#xA;        if (t &lt; 1) requestAnimationFrame(frame);&#xA;      }&#xA;  &#xA;      requestAnimationFrame(frame);&#xA;    }&#xA;  &#xA;    setInterval(shift, 2000);&#xA;  })();&#xA;  &lt;/script&gt;&#xA;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;section&gt;&#xA;  &lt;div class=&#34;wrapper lg:py-16 max-w-screen-lg&#34;&gt;&#xA;    &lt;h2&gt;&#xA;      &lt;span class=&#34;xl:block text-accent&#34;&gt;Why run a website speed test?&lt;/span&gt;&#xA;      &lt;span&gt;Every millisecond counts to your users.&lt;/span&gt;&#xA;    &lt;/h2&gt;&#xA;    &lt;p&gt;&#xA;      Page load speed is one of those things that affects almost everything else about your site. Your search ranking,&#xA;      conversion rate, bounce rate, ad cost, and brand perception, to name a few. Google uses Core Web Vitals as a&#xA;      search ranking signal, so a slow LCP can quietly cost you visibility before a single user ever notices.&#xA;      Web performance studies have shown that every extra 100&amp;nbsp;ms of load time shaves a measurable amount off of&#xA;      your conversion rates.&#xA;    &lt;/p&gt;</description>
    </item>
  </channel>
</rss>
