{"id":70011,"date":"2026-11-09T08:08:21","date_gmt":"2026-11-09T02:38:21","guid":{"rendered":"https:\/\/www.quickonlinetips.com\/archives\/games\/solitaire\/"},"modified":"2026-11-09T08:08:21","modified_gmt":"2026-11-09T02:38:21","slug":"solitaire","status":"publish","type":"page","link":"https:\/\/www.quickonlinetips.com\/archives\/games\/solitaire\/","title":{"rendered":"Solitaire: Play Free Klondike Solitaire Online"},"content":{"rendered":"<p>Play <strong>Solitaire<\/strong> free online: the classic Klondike patience card game. Build four piles from Ace to King, one for each suit, by moving cards between seven columns. Choose draw 1 for a relaxed game or draw 3 for the classic challenge, with unlimited undo, hints and auto finish.<\/p>\n<style>.qkl-table{position:relative;max-width:760px;background:radial-gradient(ellipse at 50% 0%,#33628F,#1E3D5C 75%);border-radius:12px;min-height:360px;margin:12px auto 0;user-select:none;-webkit-user-select:none;touch-action:manipulation;overflow:hidden} .qkl-card{position:absolute;box-sizing:border-box;border:1px solid #B8C4D4;border-radius:.24em;background:#FFFFFF;box-shadow:0 1px 2px rgba(0,0,0,.35);cursor:pointer;line-height:1} .qkl-up{touch-action:none} .qkl-ix{position:absolute;left:.16em;top:.1em;font-weight:800;letter-spacing:-.05em;white-space:nowrap} .qkl-pip{position:absolute;left:0;right:0;top:52%;transform:translateY(-50%);text-align:center;font-size:1.75em;font-weight:700} .qkl-face .qkl-pip{font-size:1.5em;font-family:Georgia,serif} .qkl-red{color:#C81E3A} .qkl-blk{color:#111827} .qkl-back{background-color:#2B5797;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.17) 0 2px,transparent 2px 7px),repeating-linear-gradient(-45deg,rgba(255,255,255,.17) 0 2px,transparent 2px 7px);border:.12em solid #FFFFFF;cursor:default} .qkl-slot{position:absolute;box-sizing:border-box;border:2px dashed rgba(255,255,255,.38);border-radius:.24em;color:rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;font-size:1.4em;cursor:pointer} .qkl-drag{z-index:1000;pointer-events:none;box-shadow:0 10px 18px rgba(0,0,0,.45)} .qkl-hint{box-shadow:0 0 0 3px #FACC15,0 1px 2px rgba(0,0,0,.35)} .qkl-cnt{position:absolute;right:.2em;bottom:.15em;font-size:.8em;font-weight:800;color:#FFFFFF;background:rgba(0,0,0,.45);border-radius:.5em;padding:0 .3em} .qkl-msg{text-align:center;font-size:18px;font-weight:700;color:#215387;min-height:1.5em;margin:8px 0 0}<\/style>\n<div class=\"qt-tool\" id=\"qkl\"><p class=\"qt-label\" style=\"font-size:1.15em;margin:0 0 10px\"><strong>Step 1:<\/strong> Choose how many cards to draw<\/p> <div class=\"qt-grid\"><div class=\"qt-field\"><label for=\"qkl-draw\">Draw from the stock<\/label><select id=\"qkl-draw\"><option value=\"1\" selected>1 card at a time (easier)<\/option><option value=\"3\">3 cards at a time (classic, harder)<\/option><\/select><\/div><\/div> <p class=\"qt-label\" style=\"font-size:1.15em;margin:18px 0 10px\"><strong>Step 2:<\/strong> Tap a card to move it, or drag it. Tap the stock to draw<\/p> <div class=\"qt-stats\" style=\"grid-template-columns:repeat(3,1fr)\"><div class=\"qt-stat\"><span class=\"qt-num\" id=\"qkl-mv\">0<\/span><span class=\"qt-lab\">Moves<\/span><\/div><div class=\"qt-stat\"><span class=\"qt-num\" id=\"qkl-tm\">0:00<\/span><span class=\"qt-lab\">Time<\/span><\/div><div class=\"qt-stat\"><span class=\"qt-num\" id=\"qkl-won\">0<\/span><span class=\"qt-lab\">Games won<\/span><\/div><\/div> <div class=\"qkl-table\" id=\"qkl-table\" aria-label=\"Solitaire table\"><\/div> <p class=\"qkl-msg\" id=\"qkl-msg\" aria-live=\"polite\"><\/p> <div class=\"qt-row\" style=\"justify-content:center\"><button type=\"button\" class=\"qt-btn qt-btn-big\" id=\"qkl-new\">New game<\/button><button type=\"button\" class=\"qt-btn qt-btn-ghost\" id=\"qkl-undo\">Undo<\/button><button type=\"button\" class=\"qt-btn qt-btn-ghost\" id=\"qkl-hintbtn\">Hint<\/button><button type=\"button\" class=\"qt-btn qt-btn-ghost\" id=\"qkl-auto\">Auto finish<\/button><button type=\"button\" class=\"qt-btn qt-btn-ghost\" id=\"qkl-again\">Restart this deal<\/button><\/div> <p class=\"qt-note\"><strong>Private by design:<\/strong> cards are shuffled and dealt in your own browser. Nothing is sent to QuickOnlineTips or stored.<\/p><\/div>\n<script>(function () { function qtReady(fn) { if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', fn); } else { fn(); } } function qtRand32() { var c = window.crypto || window.msCrypto; if (c) { if (c.getRandomValues) { var a = new Uint32Array(1); c.getRandomValues(a); return a[0]; } } return Math.floor(Math.random() * 4294967296); } function qtRandInt(range) { var limit = Math.floor(4294967296 \/ range) * range; var x = qtRand32(); while (x >= limit) { x = qtRand32(); } return x % range; } qtReady(function () { var root = document.getElementById('qkl'); if (!root) { return; } function $(id) { return document.getElementById('qkl-' + id); } var T = $('table'), SU = ['\u2660\ufe0e', '\u2665\ufe0e', '\u2666\ufe0e', '\u2663\ufe0e'], SUN = ['spades', 'hearts', 'diamonds', 'clubs'], RK = ['', 'A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K'], RKN = ['', 'Ace', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'Jack', 'Queen', 'King']; var g = null, deck0 = [], hist = [], moves = 0, t0 = 0, timer = 0, cw = 60, ch = 84, gap = 8, topY = 100, drag = null, dragged = false, won = false, wins = 0, autoOn = false; function suit(c) { return Math.floor(c \/ 13); } function rank(c) { return c % 13 + 1; } function red(c) { var s = suit(c); return s === 1 || s === 2; } function say(t) { $('msg').textContent = t; } function shuffle() { var d = [], i; for (i = 0; 52 > i; i++) { d.push(i); } for (i = 51; i > 0; i--) { var j = qtRandInt(i + 1), x = d[i]; d[i] = d[j]; d[j] = x; } return d; } function deal(d) { var s = { stock: [], waste: [], found: [[], [], [], []], tab: [[], [], [], [], [], [], []] }, k = 0, c, r; for (r = 0; 7 > r; r++) { for (c = r; 7 > c; c++) { s.tab[c].push({ c: d[k], up: r === c }); k++; } } while (52 > k) { s.stock.push(d[k]); k++; } return s; } function save() { hist.push(JSON.stringify(g)); if (hist.length > 400) { hist.shift(); } } function fmt(s) { return Math.floor(s \/ 60) + ':' + (s % 60 > 9 ? '' : '0') + (s % 60); } function startTimer() { if (t0) { return; } t0 = Date.now(); timer = setInterval(function () { $('tm').textContent = fmt(Math.floor((Date.now() - t0) \/ 1000)); }, 500); } function canTab(c, col) { var t = g.tab[col]; if (!t.length) { return rank(c) === 13; } var top = t[t.length - 1]; if (!top.up) { return false; } return red(top.c) !== red(c) ? rank(top.c) === rank(c) + 1 : false; } function canFound(c) { return g.found[suit(c)].length === rank(c) - 1; } function flipTops() { g.tab.forEach(function (t) { if (t.length) { t[t.length - 1].up = true; } }); } function cardsOf(src) { if (src.from === 'w') { return g.waste.length ? [g.waste[g.waste.length - 1]] : []; } if (src.from === 'f') { var f = g.found[src.i]; return f.length ? [f[f.length - 1]] : []; } return g.tab[src.col].slice(src.k).map(function (x) { return x.c; }); } function movable(src) { if (src.from !== 't') { return cardsOf(src).length === 1; } var t = g.tab[src.col], k; if (!t[src.k]) { return false; } if (!t[src.k].up) { return false; } for (k = src.k; t.length - 1 > k; k++) { var a = t[k].c, b = t[k + 1].c; if (red(a) === red(b) || rank(a) !== rank(b) + 1) { return false; } } return true; } function legal(src, dst) { var cs = cardsOf(src); if (!cs.length) { return false; } if (dst.to === 'f') { if (cs.length !== 1) { return false; } return src.from === 'f' ? false : canFound(cs[0]); } if (src.from === 't') { if (src.col === dst.col) { return false; } } return canTab(cs[0], dst.col); } function bestDst(src) { var cs = cardsOf(src), i, empty = null; if (cs.length === 1) { if (src.from !== 'f') { if (canFound(cs[0])) { return { to: 'f' }; } } } var start = src.from === 't' ? src.col + 1 : 0; for (i = 0; 7 > i; i++) { var col = (start + i) % 7; if (!legal(src, { to: 't', col: col })) { continue; } if (g.tab[col].length) { return { to: 't', col: col }; } if (empty === null) { if (src.from === 't' ? src.k > 0 : true) { empty = col; } } } return empty === null ? null : { to: 't', col: empty }; } function doMove(src, dst) { save(); var cs = cardsOf(src); if (src.from === 'w') { g.waste.pop(); } else if (src.from === 'f') { g.found[src.i].pop(); } else { g.tab[src.col].splice(src.k); } if (dst.to === 'f') { g.found[suit(cs[0])].push(cs[0]); } else { cs.forEach(function (c) { g.tab[dst.col].push({ c: c, up: true }); }); } flipTops(); moves++; startTimer(); say(''); render(); check(); } function clickStock() { if (won) { return; } if (g.stock.length) { save(); var n = Math.min(Number($('draw').value), g.stock.length); for (var k = 0; n > k; k++) { g.waste.push(g.stock.pop()); } } else if (g.waste.length) { save(); while (g.waste.length) { g.stock.push(g.waste.pop()); } say('The waste pile goes back to the stock.'); } else { say('The stock is empty.'); return; } moves++; startTimer(); render(); } function canAuto() { if (g.stock.length || g.waste.length) { return false; } return g.tab.every(function (t) { return t.every(function (x) { return x.up; }); }); } function autoStep() { if (won) { autoOn = false; return; } for (var col = 0; 7 > col; col++) { var t = g.tab[col]; if (t.length) { if (canFound(t[t.length - 1].c)) { doMove({ from: 't', col: col, k: t.length - 1 }, { to: 'f' }); setTimeout(autoStep, 90); return; } } } autoOn = false; } function check() { var n = 0; g.found.forEach(function (f) { n += f.length; }); if (n === 52) { won = true; wins++; $('won').textContent = wins; clearInterval(timer); say('You won in ' + moves + ' moves and ' + $('tm').textContent + '! \ud83c\udf89 Press New game to play again.'); return; } if (canAuto()) { if (!autoOn) { say('All cards are face up. Press Auto finish to complete the game.'); } } } function layout() { var w = T.clientWidth || 320; gap = Math.max(4, Math.round(w * 0.012)); cw = Math.floor((w - gap * 8) \/ 7); ch = Math.round(cw * 1.4); topY = ch + gap * 2; T.style.fontSize = Math.max(10, Math.round(cw * 0.29)) + 'px'; } function xOf(col) { return gap + col * (cw + gap); } function cardEl(c, up, x, y) { var e = document.createElement('div'); e.className = 'qkl-card'; e.style.width = cw + 'px'; e.style.height = ch + 'px'; e.style.left = x + 'px'; e.style.top = y + 'px'; if (!up) { e.classList.add('qkl-back'); e.setAttribute('aria-label', 'Face-down card'); T.appendChild(e); return e; } e.classList.add('qkl-up', red(c) ? 'qkl-red' : 'qkl-blk'); if (rank(c) > 10) { e.classList.add('qkl-face'); } var a = document.createElement('span'); a.className = 'qkl-ix'; a.textContent = RK[rank(c)] + SU[suit(c)]; e.appendChild(a); var m = document.createElement('span'); m.className = 'qkl-pip'; m.textContent = rank(c) > 10 ? RK[rank(c)] + SU[suit(c)] : SU[suit(c)]; e.appendChild(m); e.setAttribute('aria-label', RKN[rank(c)] + ' of ' + SUN[suit(c)]); T.appendChild(e); return e; } function slot(x, y, txt, kind) { var e = document.createElement('div'); e.className = 'qkl-slot'; e.style.width = cw + 'px'; e.style.height = ch + 'px'; e.style.left = x + 'px'; e.style.top = y + 'px'; e.textContent = txt; e.qkl = kind; T.appendChild(e); return e; } function render() { layout(); T.textContent = ''; var i, maxY = topY + ch; var st = slot(xOf(0), gap, g.stock.length ? '' : '\u21bb', { stock: 1 }); st.setAttribute('aria-label', g.stock.length ? 'Stock' : 'Empty stock: tap to turn the waste over'); if (g.stock.length) { var sc = cardEl(0, false, xOf(0), gap); sc.qkl = { stock: 1 }; sc.style.cursor = 'pointer'; sc.setAttribute('aria-label', 'Stock, ' + g.stock.length + ' cards. Tap to draw'); var cn = document.createElement('span'); cn.className = 'qkl-cnt'; cn.textContent = g.stock.length; sc.appendChild(cn); } slot(xOf(1), gap, '', null); var show = g.waste.slice(-Math.min(Number($('draw').value), g.waste.length)); show.forEach(function (c, k) { var e = cardEl(c, true, xOf(1) + k * Math.round(cw * 0.24), gap); if (k === show.length - 1) { e.qkl = { src: { from: 'w' } }; } }); for (i = 0; 4 > i; i++) { var f = g.found[i]; slot(xOf(3 + i), gap, SU[i], { found: 1 }).setAttribute('aria-label', 'Foundation for ' + SUN[i]); if (f.length) { cardEl(f[f.length - 1], true, xOf(3 + i), gap).qkl = { src: { from: 'f', i: i } }; } } for (i = 0; 7 > i; i++) { var t = g.tab[i], y = topY; slot(xOf(i), topY, '', { col: i }).setAttribute('aria-label', 'Empty column ' + (i + 1)); for (var k = 0; t.length > k; k++) { var e2 = cardEl(t[k].c, t[k].up, xOf(i), y); e2.qkl = { src: { from: 't', col: i, k: k } }; e2.qklCol = i; e2.qklK = k; y += t[k].up ? Math.round(ch * 0.27) : Math.max(5, Math.round(ch * 0.12)); } maxY = Math.max(maxY, y - (t.length ? (t[t.length - 1].up ? Math.round(ch * 0.27) : Math.max(5, Math.round(ch * 0.12))) : 0) + ch); } T.style.height = (maxY + gap * 2 + Math.round(ch * 0.8)) + 'px'; $('mv').textContent = moves; } function tap(el) { if (won) { return; } if (!el || !el.qkl) { return; } var q = el.qkl; if (q.stock) { clickStock(); return; } if (!q.src) { return; } if (!movable(q.src)) { say('That card cannot move yet.'); return; } var d = bestDst(q.src); if (!d) { say('No place for that card right now.'); return; } doMove(q.src, d); } function dropAt(src, cx, cy) { var r = T.getBoundingClientRect(), x = cx - r.left, y = cy - r.top, col = Math.max(0, Math.min(6, Math.floor((x - gap \/ 2) \/ (cw + gap)))), dst = topY > y ? (col >= 3 ? { to: 'f' } : null) : { to: 't', col: col }; if (dst) { if (legal(src, dst)) { doMove(src, dst); return true; } } return false; } T.addEventListener('pointerdown', function (ev) { dragged = false; var el = ev.target.closest('.qkl-card'); if (!el || !el.qkl || !el.qkl.src) { return; } if (won || autoOn) { return; } var src = el.qkl.src; if (!movable(src)) { return; } var els = [el]; if (src.from === 't') { els = Array.prototype.filter.call(T.children, function (x) { return x.qklCol === src.col ? x.qklK >= src.k : false; }); } drag = { src: src, els: els, x: ev.clientX, y: ev.clientY, on: false, id: ev.pointerId }; }); document.addEventListener('pointermove', function (ev) { if (!drag) { return; } var dx = ev.clientX - drag.x, dy = ev.clientY - drag.y; if (!drag.on) { if (7 > Math.abs(dx) + Math.abs(dy)) { return; } drag.on = true; drag.els.forEach(function (e) { e.classList.add('qkl-drag'); }); } ev.preventDefault(); drag.els.forEach(function (e) { e.style.transform = 'translate(' + dx + 'px,' + dy + 'px)'; }); }, { passive: false }); function endDrag(ev) { if (!drag) { return; } var d = drag; drag = null; if (!d.on) { return; } dragged = true; if (!dropAt(d.src, ev.clientX, ev.clientY)) { render(); } } document.addEventListener('pointerup', endDrag); document.addEventListener('pointercancel', function () { if (drag) { if (drag.on) { render(); } } drag = null; }); T.addEventListener('click', function (ev) { if (dragged) { dragged = false; return; } tap(ev.target.closest('.qkl-card, .qkl-slot')); }); function hint() { if (won) { return; } var srcs = [], i, k; if (g.waste.length) { srcs.push({ from: 'w' }); } for (i = 0; 7 > i; i++) { var t = g.tab[i]; for (k = 0; t.length > k; k++) { if (t[k].up) { srcs.push({ from: 't', col: i, k: k }); break; } } if (t.length) { if (t[t.length - 1].up) { srcs.push({ from: 't', col: i, k: t.length - 1 }); } } } var found = null; srcs.forEach(function (s) { if (found) { return; } if (!movable(s)) { return; } var d = bestDst(s); if (!d) { return; } if (s.from === 't') { if (d.to === 't') { if (s.k > 0) { if (g.tab[s.col][s.k - 1].up) { return; } } else if (!g.tab[d.col].length) { return; } } } found = s; }); if (!found) { say(g.stock.length || g.waste.length ? 'Tap the stock to draw more cards.' : 'No moves left. Try Undo or start a new game.'); return; } Array.prototype.forEach.call(T.children, function (e) { if (e.qkl) { if (e.qkl.src) { var s = e.qkl.src; if (s.from === found.from) { if (s.from === 'w' || (s.col === found.col ? s.k === found.k : false)) { e.classList.add('qkl-hint'); } } } } }); say('Try the highlighted card.'); } function newGame(same) { clearInterval(timer); if (!same) { deck0 = shuffle(); } g = deal(deck0); hist = []; moves = 0; t0 = 0; won = false; autoOn = false; $('tm').textContent = '0:00'; say(same ? 'Same deal again. Good luck!' : 'New game dealt. Tap a card to move it.'); render(); } $('new').addEventListener('click', function () { newGame(false); }); $('again').addEventListener('click', function () { newGame(true); }); $('undo').addEventListener('click', function () { if (autoOn) { return; } if (!hist.length) { say('Nothing to undo.'); return; } g = JSON.parse(hist.pop()); moves++; if (won) { won = false; wins--; $('won').textContent = wins; } say('Move undone.'); render(); }); $('auto').addEventListener('click', function () { if (won || autoOn) { return; } if (!canAuto()) { say('Auto finish works once the stock and waste are empty and every card is face up.'); return; } autoOn = true; autoStep(); }); $('hintbtn').addEventListener('click', hint); $('draw').addEventListener('change', function () { newGame(false); }); var rt = 0; window.addEventListener('resize', function () { clearTimeout(rt); rt = setTimeout(function () { if (!drag) { render(); } }, 150); }); newGame(false); }); })();<\/script>\n<div class=\"qt-next\"><p class=\"qt-next-h\">Play next<\/p><div class=\"qt-next-g\"><a href=\"https:\/\/www.quickonlinetips.com\/archives\/games\/spider-solitaire\/\">Spider Solitaire<\/a><a href=\"https:\/\/www.quickonlinetips.com\/archives\/games\/peg-solitaire\/\">Peg Solitaire<\/a><a href=\"https:\/\/www.quickonlinetips.com\/archives\/games\/sliding-puzzle\/\">Sliding Puzzle<\/a><a href=\"https:\/\/www.quickonlinetips.com\/archives\/games\/backgammon\/\">Backgammon<\/a><a href=\"https:\/\/www.quickonlinetips.com\/archives\/games\/tower-of-hanoi\/\">Tower of Hanoi<\/a><a href=\"https:\/\/www.quickonlinetips.com\/archives\/games\/word-search\/\">Word Search<\/a><\/div><\/div>\n<p><strong>Quick answer:<\/strong> Tap any face-up card and it jumps to the best place it can go, or drag it where you want. Build the seven columns downward in alternating colours (red on black, black on red), move Aces to the four piles at the top right, and build each pile up by suit to King. Tap the stock at the top left to turn over new cards. You win when all 52 cards are on the four piles.<\/p>\n<h2>How to play Solitaire<\/h2>\n<ol>\n<li><strong>The deal.<\/strong> Seven columns are dealt with one to seven cards, and only the top card of each column face up. The rest of the deck is the stock.<\/li>\n<li><strong>Columns.<\/strong> Place a card on a card one rank higher of the opposite colour, for example a red 6 on a black 7. You can move a whole face-up run together.<\/li>\n<li><strong>Empty columns.<\/strong> Only a King, or a run that starts with a King, can go into an empty column.<\/li>\n<li><strong>Turning cards.<\/strong> When you move the last face-up card off a column, the card below turns over.<\/li>\n<li><strong>The stock.<\/strong> Tap the stock to draw one card (or three in draw 3). Only the top card of the waste pile can be played. When the stock runs out, tap the empty space to turn the waste pile over and go through it again.<\/li>\n<li><strong>The four piles.<\/strong> Move each Ace up to its own pile, then add cards of the same suit in order: 2, 3, 4 and so on up to King.<\/li>\n<\/ol>\n<h2>Solitaire tips<\/h2>\n<ul>\n<li><strong>Turn over face-down cards first.<\/strong> Moves that reveal a hidden card are usually the most valuable.<\/li>\n<li><strong>Work on the tallest columns.<\/strong> They hide the most cards.<\/li>\n<li><strong>Do not empty a column without a King to put there.<\/strong> An empty column is only useful for a King.<\/li>\n<li><strong>Do not rush cards to the piles.<\/strong> Low cards are often needed in the columns to hold other cards, so keep them until you are sure.<\/li>\n<li><strong>Stuck?<\/strong> Press <strong>Hint<\/strong> for a suggestion, or <strong>Undo<\/strong> to try another line.<\/li>\n<\/ul>\n<h2>Draw 1 or draw 3?<\/h2>\n<table class=\"qt-ref\">\n<thead>\n<tr>\n<th>Mode<\/th>\n<th>How it plays<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Draw 1<\/td>\n<td>Turn one card at a time from the stock. You see every card on each pass, so far more games can be won.<\/td>\n<\/tr>\n<tr>\n<td>Draw 3<\/td>\n<td>Turn three cards at a time and play only the top one. The traditional way to play, and much harder.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Want a bigger challenge? Try <a href=\"https:\/\/www.quickonlinetips.com\/archives\/games\/spider-solitaire\/\">Spider Solitaire<\/a> with two decks, or the classic <a href=\"https:\/\/www.quickonlinetips.com\/archives\/games\/peg-solitaire\/\">peg solitaire<\/a> puzzle. See all our <a href=\"https:\/\/www.quickonlinetips.com\/archives\/games\/\">free online games<\/a>.<\/p>\n<h2>FAQ<\/h2>\n<h3>Is every game of Solitaire winnable?<\/h3>\n<p>No. Some deals cannot be solved however well you play, especially in draw 3. Press <strong>Restart this deal<\/strong> to try the same cards again, or <strong>New game<\/strong> for a fresh deal.<\/p>\n<h3>Is this Solitaire free?<\/h3>\n<p>Yes. It is free with no sign-up and no download, and it works on phones, tablets and computers.<\/p>\n<h3>What does Auto finish do?<\/h3>\n<p>Once the stock is used up and every card is face up, the game is as good as won. Auto finish moves all the remaining cards to the piles for you.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Play Solitaire free online: the classic Klondike patience card game. Build four piles from Ace to King, one for each suit, by moving cards between seven columns. Choose draw 1 for a relaxed game or draw 3 for the classic challenge, with unlimited undo, hints and auto finish. Quick answer: Tap any face-up card and&#8230;<\/p>\n","protected":false},"author":7,"featured_media":0,"parent":66148,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"class_list":["post-70011","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/pages\/70011","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/comments?post=70011"}],"version-history":[{"count":0,"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/pages\/70011\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/pages\/66148"}],"wp:attachment":[{"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/media?parent=70011"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}