1<!DOCTYPE html> 2<html lang="en"> 3<head> 4 <title>FreeCell Solitaire Games - FREE | Voted BEST of 2024 - 2019</title> 5 <meta charset="utf-8"> 6 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 7 <meta content="width=device-width, initial-scale=1, minimum-scale=1, user-scalable=no" name="viewport"> 8 <meta content="yes" name="full-screen"> 9 <meta content="index, follow" name="robots"> 10 <meta content="GameChannel.io" name="author"> 11 <meta content="GameChannel.io. All Rights Reserved." name="copyright"> 12 13 <link href="https://gamechannel.io/freecell-solitaire/index.html" rel="canonical"> 14 <meta content="Voted Best of 2024 Free Classic Solitaire card games â¡. Millions of solitaire players worldwide" name="description"> 15 <meta content="solitaire, klondike, freecell, spider solitaire, cards, classic card games, suits, foundations, card games" name="keywords"> 16 17 <link href="./assets/icons/apple-touch-icon.png" rel="apple-touch-icon" sizes="180x180"> 18 <link href="./assets/icons/favicon-32x32.png" rel="icon" type="image/png" sizes="32x32"> 19 <link href="./assets/icons/favicon-16x16.png" rel="icon" type="image/png" sizes="16x16"> 20 <link href="./assets/icons/favicon.ico" rel="shortcut icon"> 21 <link href="./assets/icons/safari-pinned-tab.svg" rel="mask-icon" color="#1b53c7"> 22 23 <link href="/common/adsTopSolitaireGames/adtop.css" rel="stylesheet" type="text/css"> 24 <link href="/common/applixirAds/applixirAds.css" rel="stylesheet" type="text/css"> 25 <link href="/common/social/fb-share-button.css" rel="stylesheet" type="text/css"> 26 <link href="/common/solitaireGames/solitaire.css" rel="stylesheet" type="text/css"> 27 28 <link href="card.css" rel="stylesheet" type="text/css"> 29 <link href="freecell.css" rel="stylesheet" type="text/css"> 30 31 <!-- Code: CMP for Adsense from Google to send TCF signals to GA4 --> 32
32<script> <!-- Enabled tcf support for Google tag --> window ['gtag_enable_tcf_support'] = true; </script>
32 33 34 <!-- Adsense Ads --> 35
35<script data-ad-client="ca-pub-8403075472397165" async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
35 36 37 <!-- Google Ad Block Recovery --> 38
38<script async src="https://fundingchoicesmessages.google.com/i/pub-8403075472397165?ers=1" nonce="De881dIXGs7ppbcL5NcWOg"></script>
38<script nonce="De881dIXGs7ppbcL5NcWOg">(function() {function signalGooglefcPresent() {if (!window.frames['googlefcPresent']) {if (document.body) {const iframe = document.createElement('iframe'); iframe.style = 'width: 0; height: 0; border: none; z-index: -1000; left: -1000px; top: -1000px;'; iframe.style.display = 'none'; iframe.name = 'googlefcPresent'; document.body.appendChild(iframe);} else {setTimeout(signalGooglefcPresent, 0);}}}signalGooglefcPresent();})();</script>
38 39 40 <!-- Google Ad Block Optional Error protection message --> 41
41<script src="/common/googleAdBlockOptionalErrorProtectionMessage/googleAdBlockOptionalErrorProtectionMessage.js"></script>
41 42 43 <!-- Google Tag Manager --> 44
44<script>
vendor: 335 bytes, lines 44-48
44(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 45 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 46 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 47 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 48 })(window,document,'script','dataLayer','
48GTM-KZDJTBH
vendor: 3 bytes, line 48
48');
48</script>
48 49 <!-- End Google Tag Manager --> 50 51 <!-- Google Analytics tag (gtag.js) required to send data to GA4 and Google Ads -->
vendor: 65 bytes, lines 51-52
51 52 <script async src="https://www.googletagmanager.com/gtag/js?id=
52G-D8ZN7RQ3CQ
vendor: 13 bytes, lines 52-53
52"></script> 53
53<script> 54
vendor: 140 bytes, lines 54-57
54window.dataLayer = window.dataLayer || []; 55 function gtag(){dataLayer.push(arguments);} 56 gtag('js', new Date()); 57 gtag('config', '
57G-D8ZN7RQ3CQ
vendor: 10 bytes, lines 57-58
57'); 58
58gtag('config', 'AW-736771080'); 59 </script>
59 60 61
61<script src="v-util.js"></script>
61 <!-- This has the va_uuid attribution, so before GA --> 62 63<!-- Open Graph metadata --> 64 <meta property="og:locale" content="en_US" /> 65 <meta property="og:type" content="website" /> 66 <meta property="og:title" content="FreeCell Solitaire - 100% FREE | Voted BEST of 2024" /> 67 <meta property="og:description" content="â¡ï¸NEW! Fast and Easy - No download or registration required. Join millions of solitaire players worldwide!" /> 68 <meta property="og:url" content="https://gamechannel.io/freecell-solitaire/index.html" /> 69 <meta property="og:site_name" content="gamechannel.io" /> 70 <meta property="og:image" content="https://gamechannel.io/freecell-solitaire/assets/icons/facebook-og/fb-og-image-1200x627-freecell.png" /> 71 <meta property="og:image:secure_url" content="https://gamechannel.io/freecell-solitaire/assets/icons/facebook-og/fb-og-image-1200x627-freecell.png" /> 72 <meta property="og:image:alt" content="gamechannel.io freecell solitaire" /> 73 <meta property="og:image:type" content="image/png" /> 74 75 <!-- Twitter Card --> 76 <meta name="twitter:image" content="https://gamechannel.io/freecell-solitaire/assets/icons/twitter-card/thumbnail.png" /> 77 <meta name="twitter:description" content="â¡ï¸NEW! Fast and Easy - No download or registration required. Join millions of solitaire players worldwide!" /> 78 <meta name="twitter:card" content="summary" /> 79 <meta name="twitter:site" content="@GameChannel.io" /> 80 <meta name="twitter:title" content="New! FreeCell Solitaire - 100% FREE | Voted BEST of 2024" /> 81 <meta name="twitter:url" content="https://gamechannel.io/freecell-solitaire/index.html" /> 82 <meta name="twitter:creator" content="@GameChannel.io" /> 83 84 <!-- Structured Data --> 85
85<script src="/common/structuredData/structuredDataFreeCell.js"></script>
85 86 87 </head> 88 <body> 89 90 <!-- Google Tag Manager (noscript) -->
vendor: 70 bytes, lines 90-91
90 91 <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
91GTM-KZDJTBH
vendor: 86 bytes, lines 91-93
91" 92 height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 93
93<!-- End Google Tag Manager (noscript) --> 94 95<div class="ad-game-container"> 96 97 <!-- Begin Ad Placements --> 98 <div id="ad-top-master"> 99 <div class="ad-top-left"> 100
100<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8403075472397165" 101 crossorigin="anonymous"></script>
101 102 <!-- fixed728x90 --> 103 <ins class="adsbygoogle" 104 style="display:inline-block;width:728px;height:90px" 105 data-ad-client="ca-pub-8403075472397165" 106 data-ad-slot="6382736985"></ins> 107
107<script> 108 (adsbygoogle = window.adsbygoogle || []).push({}); 109 </script>
109 110 </div> 111 112 <div class="ad-top-center"> 113
113<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8403075472397165" 114 crossorigin="anonymous"></script>
114 115 <!-- 2024_Top350 --> 116 <ins class="adsbygoogle" 117 style="display:block" 118 data-ad-client="ca-pub-8403075472397165" 119 data-ad-slot="5354065070" 120 data-ad-format="auto" 121 data-full-width-responsive="true"></ins> 122
122<script> 123 (adsbygoogle = window.adsbygoogle || []).push({}); 124 </script>
124 125 </div> 126 127 <div class="ad-top-right"> 128
128<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8403075472397165" 129 crossorigin="anonymous"></script>
129 130 <!-- 2024Top_Responsive --> 131 <ins class="adsbygoogle" 132 style="display:block" 133 data-ad-client="ca-pub-8403075472397165" 134 data-ad-slot="9349150406" 135 data-ad-format="auto" 136 data-full-width-responsive="true"></ins> 137
137<script> 138 (adsbygoogle = window.adsbygoogle || []).push({}); 139 </script>
139 140 </div> 141 </div> 142 <!-- End Ad Placements --> 143 144 <div id="control_bar" class="btn-group"> 145 <div> 146 <button class="btn" id="button_new" onclick="newGameSameMode()"> 147 <!--%s_new_game.html%--> 148 <svg focusable="false" class="ico" aria-hidden="true" viewBox="0 0 32 32"> 149 <circle cx="16" cy="16" r="13.5"/> 150 <path d="M13 9 20 16 13 23"/> 151 </svg> 152 <span class="lang" lang="en">NEW</span> 153 </button> 154 </div> 155 <div class="dropup"> 156 <button onclick="toggleDropUp()" class="dropbtn" id="more_games"> 157 <span id="dot" class="dot">+</span> 158 <span class="lang" lang="en">ð ???</span> 159 </button> 160 <div id="optionsDropup" class="dropup-content"> 161 162 <a href='https://gamechannel.io/policies/privacy?utm_source=solitaire&utm_medium=in-game&utm_content=more' id='privacy_terms' rel='noopener' target='_blank'> 163 <!--privacy / terms--> 164 <span class="lang" lang="en"> (c) 2019-2024 GameChannel.io | Privacy & Terms </span> </a> 165 166 <hr class="rounded"> 167 168 <a href='https://gamechannel.io/2048/?utm_source=freecell-solitaire&utm_medium=in-game&utm_content=more' id='2048' rel='noopener' target='_blank'> 169 <!--2048--> 170 <span class="lang" lang="en"><img src="https://gamechannel.io/2048/assets/icons/favicon-32x32.png" height="24px" width="24px" alt="2048"> 2048 CIRCLES</span> </a> 171 172 <a href='https://gamechannel.io/backgammon/?utm_source=freecell-solitaire&utm_medium=in-game&utm_content=more' id='backgammon' rel='noopener' target='_blank'> 173 <!--Backgammon--> 174 <span class="lang" lang="en"><img src="https://gamechannel.io/backgammon/assets/icons/favicon-32x32.png" height="24px" width="24px" alt="Backgammon"> BACKGAMMON</span></a> 175 176 <a href='https://gamechannel.io/checkers/?utm_source=freecell-solitaire&utm_medium=in-game&utm_content=more' id='checkers' rel='noopener' target='_blank'> 177 <!--Checkers--> 178 <span class="lang" lang="en"><img src="https://gamechannel.io/checkers/assets/icons/favicon-32x32.png" height="24px" width="24px" alt="Checkers"> CHECKERS</span> </a> 179 180 <a href='https://gamechannel.io/chess/?utm_source=freecell-solitaire&utm_medium=in-game&utm_content=more' id='chess' rel='noopener' target='_blank'> 181 <!--Chess--> 182 <span class="lang" lang="en"><img src="https://gamechannel.io/chess/assets/icons/favicon-32x32.png" height="24px" width="24px" alt="Chess"> CHESS</span> </a> 183 184 <a href='https://gamechannel.io/reversi/?utm_source=freecell-solitaire&utm_medium=in-game&utm_content=more' id='reversi' rel='noopener' target='_blank'> 185 <!--Reversi--> 186 <span class="lang" lang="en"><img src="https://gamechannel.io/reversi/assets/icons/favicon-32x32.png" height="24px" width="24px" alt="Reversi"> REVERSI | OTHELLO</span> </a> 187 188 <a href='https://gamechannel.io/sudoku/?utm_source=freecell-solitaire&utm_medium=in-game&utm_content=more' id='sudoku' rel='noopener' target='_blank'> 189 <!--Sudoku--> 190 <span class="lang" lang="en"><img src="https://gamechannel.io/sudoku/assets/icons/favicon-32x32.png" height="24px" width="24px" alt="Sudoku"> SUDOKU</span> </a> 191 192 <a href='https://gamechannel.io/tank-wars/?utm_source=freecell-solitaire&utm_medium=in-game&utm_content=more' id='tank_wars' rel='noopener' target='_blank'> 193 <!--Tank Wars--> 194 <span class="lang" lang="en"><img src="https://gamechannel.io/tank-wars/assets/icons/favicon-32x32.png" height="24px" width="24px" alt="Tank Wars"> TANK WARS Arcade</span> </a> 195 196 <hr class="rounded"> 197 198 <a href='https://gamechannel.io/solitaire/?utm_source=freecell-solitaire&utm_medium=in-game&utm_content=more' id='solitaire' rel='noopener' target='_blank'> 199 <!--klondike--> 200 <span class="lang" lang="en"><img src="https://gamechannel.io/solitaire/assets/icons/favicon-32x32.png" height="24px" width="24px" alt="Solitaire"> KLONDIKE Solitaire</span> </a> 201 202 <a href='https://gamechannel.io/pyramid-solitaire/?utm_source=freecell-solitaire&utm_medium=in-game&utm_c
202ontent=more' id='pyramid' rel='noopener' target='_blank'> 203 <!--pyramid--> 204 <span class="lang" lang="en"><img src="https://gamechannel.io/pyramid-solitaire/assets/icons/favicon-32x32.png" height="24px" width="24px" alt="Pyramid Solitaire"> PYRAMID Solitaire</span> </a> 205 206 <a href='https://gamechannel.io/spider-solitaire/?utm_source=freecell-solitaire&utm_medium=in-game&utm_content=more' id='spider' rel='noopener' target='_blank'> 207 <!--spider--> 208 <span class="lang" lang="en"><img src="https://gamechannel.io/spider-solitaire/assets/icons/favicon-32x32.png" height="24px" width="24px" alt="Spider Solitaire"> SPIDER Solitaire</span> </a> 209 210 <a href='https://gamechannel.io/tripeaks-solitaire/?utm_source=freecell-solitaire&utm_medium=in-game&utm_content=more' id='tripeaks' rel='noopener' target='_blank'> 211 <!--tripeaks--> 212 <span class="lang" lang="en"><img src="https://gamechannel.io/tripeaks-solitaire/assets/icons/favicon-32x32.png" height="24px" width="24px" alt="Tripeaks Solitaire"> TRIPEAKS Solitaire</span> </a> 213 214 </div> 215 </div> 216 217 <div> 218 <button class="btn" id="button_undo" onclick="undo()"> 219 <!--%s_undo.html%--> 220 <svg focusable="false" class="ico" aria-hidden="true" viewBox="0 0 34 32"> 221 <path d="M5.5 16A13.5 13.5 0 1 1 19 29.5M3 17 8 17 5.5 20z"/> 222 <text x="58%" y="65%" stroke-width="0.1em" id="undos_left">0</text> 223 </svg> 224 <span class="lang" lang="en">Undo</span> 225 </button> 226 </div> 227 </div> <!--control_bar--> 228 229 <div class="hidden"> 230 <svg> 231 <style> 232 .small_text { font: 14px Arial; } 233 </style> 234 <symbol id="freecell_target"> 235 <use x="0" y="0" xlink:href="#target_border" opacity="0.2" /> 236 <text x="22" y="58" fill="white" opacity="0.2" class="small_text">FREE</text> 237 <text x="22" y="72" fill="white" opacity="0.2" class="small_text">CELL</text> 238 </symbol> 239 </svg> 240 </div> 241 242 <div id="freecell_div"> 243 244</div><!-- game div--> 245 246 <div id="game_over_div" class="solitaire_dialog"> 247 <div id="trophy_win"> 248 <span>ð</span> 249 <span>ð</span> 250 <span>ð</span> 251 <span>ð</span> 252 <span>ð</span> 253 </div> 254 <!--%s_label_great_game.html%--> 255 <div id="congrats-1"> 256 <strong> 257 <span class="lang" lang="en">Great Game!</span> 258 </strong> 259 </div> <!--%s_label_you_win.html%--> 260 <div id="you-win"><strong> 261 <span class="lang" lang="en">YOU WIN!</span> 262 </strong> 263 </div> 264 <br> 265 266 <div id="game_over_stats"> 267 <!--%s_label_your_time.html%--> 268 <span class="lang" lang="en">Your Time:</span> 269 <span id="game_over_time"></span> 270 <br /> 271 <br /> 272 <!--%s_label_moves_to_win.html%--> 273 <span class="lang" lang="en">Moves to Win:</span> 274 <span id="game_over_moves"></span> 275 </div> 276 <br /> 277 278 <div class="continue_div"> 279 <strong> 280 <span id="continue" onclick="newGameSameMode()"> 281 <!--%s_button_continue_plain.html%--> 282 <span class="lang" lang="en">CONTINUE â·</span> 283 </span> 284 </strong> 285 </div> 286 <br /> 287 </div> 288 <!--game over div--> 289 <!--%s_new_confirm.html%--> 290 291</div> 292 293 <div id="applixir_vanishing_div" hidden > 294 <iframe id="applixir_parent" allow="autoplay"> 295 </iframe> 296 </div> 297 298 <div id="ad-center" align="center" class="flex-container"> 299 <header id="ad-header"><span id="ad-close" style="cursor:pointer">Loading...</span></header> 300 </div> 301 302 <!-- FB Share Button --> 303 <div id="fb-share-button" class="fb-share-button" data-href="https://gamechannel.io/freecell-solitaire/index.html" data-layout="button" data-size=""><a target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fgamechannel.io%2Ffreecell-solitaire&
303src=sdkpreparse" class="fb-xfbml-parse-ignore">Share</a></div> 304 305 <!-- Load Facebook SDK for JavaScript --> 306 <div id="fb-root"></div> 307 308 <!-- Link to external JavaScript file --> 309
309<script src="/common/social/social-scripts.js"></script>
309 310 311</BODY> 312 313
313<script src="f.js"></script>
313 314 315 <!-- APPLIXIR NEW for gen UUID4 and passed to applixir --> 316
316<script src="https://cdnjs.cloudflare.com/ajax/libs/uuid/8.3.2/uuid.min.js"> 317 </script>
317 318 319
319<script defer> 320 // Generate a random UUID using the uuid library 321 let myuuid = uuid.v4(); 322 323 // Log the UUID to the console 324 console.log(myuuid); 325 326 // Assign the UUID to APPLIXIR_USERID 327 var APPLIXIR_USERID = myuuid; 328 329 // Check sessionTime and reload window if greater than 2 minutes 330 if (_sessionTime > 2 * 60) { 331 window.location.reload(true); 332 } 333 </script>
333 334 335
335<script type="text/javascript"> 336 // This function is called after the page is fully loaded. 337 // Unlike normal webpage, care MOST about game loading fully and playable 338 // for speed to first contentful paint/playable. Also, SECOND most important thing is to get manifest.json 339 // file downloaded and processed for deferred prompt. Unforunately, while can preload file, browsers will not process manifest.json until after page fully loads. So, we put the ads/marketing to <defer> load and we also don't want to load the network with too many requests for javascript files/etc for lower end devices in various parts of the world. 340 // Now, you are probably going to ignore this and start putting in
340<script> includes above and do things like async/defer. I am just telling you, we are not a normal web page, and the solution below is the best so far for the goals above, so don't ignore the efforts of your elders. 341 function downloadJSAtOnLoad() { 342 343 var deferInclude = document.createElement("script"); 344 deferInclude.src = "/common/defer/defer.js"; 345 deferInclude.defer = true; 346 deferInclude.async = true; 347 document.body.appendChild(deferInclude); 348 349 // If we are being told to show interstitial, let's do it in a tick after all the ad tech loads. 350 if (urlParams.has("si")) { 351 setTimeout(function() { 352 if (typeof showVideoInterstitial != "function") { return; } // Defer load check 353 showVideoInterstitial(); 354 _interstitialTime = Date.now(); 355 }, 500); 356 } 357 } 358 359 // Simple function to call downloadJS files post load to let everything settle. 360 function deferLoad() { 361 setTimeout(downloadJSAtOnLoad, 1.5*1000); 362 } 363 364 // Hook into the page fully loading to call defer 365 if (window.addEventListener) { window.addEventListener("load", deferLoad, false); } 366 else if (window.attachEvent) { window.attachEvent("onload", deferLoad); } 367 else { window.onload = deferLoad;} 368 </script>
368 369 370
370<script> 371 // Grab the game config; 372 initGameConfig("freecell"); 373 374 // Start the game as soon as possible to render to the screen. 375 startGame(vGameConfig); 376 377 var _interstitialTime = 0; 378 379 // Add a call back when a new game starts to show an ad for showing the install dialog 380 addNewGameCallback(function() { 381 382 // If we haven't shown an ad in 60 seconds let's show one 383 if ( Date.now() - _interstitialTime > 60*1000) { 384 if (typeof showVideoInterstitial != "function") { 385 console.log("Show Video Interstitial not defined yet"); 386 return; 387 } 388 showVideoInterstitial(); 389 390 _interstitialTime = Date.now(); 391 //reloadForInterstitial(); 392 } 393 394 }); 395 396 </script>
396 397</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.