<!doctype html>
<html lang="pl">

<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# website: http://ogp.me/ns/website#">
  <meta charset="UTF-8" />
  <base href="/" />
  <meta http-equiv="x-dns-prefetch-control" content="on" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />

  
  <title>playanime</title>
  <meta name="title" content="playanime" />
  <meta name="description" content="Oglądaj najlepsze anime online za darmo z polskimi napisami i dubbingiem. Tysiące odcinków anime, mangi i seriali w wysokiej jakości. Społeczność fanów anime w Polsce." />
  <meta name="keywords" content="anime online, anime za darmo, anime z polskimi napisami, anime po polsku, oglądaj anime, darmowe anime, anime online pl, napisy pl, anime dubbing, manga online, shonen, seinen, shoujo" />
  <meta name="author" content="playani.me" />
  <meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1" />

  
  <meta property="og:type" content="website" />
  <meta property="og:url" content="https://playani.me" />
  <meta property="og:site_name" content="playani.me" />
  <meta property="og:title" content="playanime" />
  <meta property="og:description" content="Oglądaj najlepsze anime online za darmo z polskimi napisami i dubbingiem. Tysiące odcinków anime, mangi i seriali w wysokiej jakości. Społeczność fanów anime w Polsce." />
  <meta property="og:image" content="https://playani.me/og-image.jpg" />
  <meta property="og:image:width" content="1200" />
  <meta property="og:image:height" content="630" />
  <meta property="og:image:alt" content="playanime" />
  <meta property="og:locale" content="pl_PL" />

  
  <meta name="twitter:card" content="summary_large_image" />
  <meta name="twitter:url" content="https://playani.me" />
  <meta name="twitter:title" content="playanime" />
  <meta name="twitter:description" content="Oglądaj najlepsze anime online za darmo z polskimi napisami i dubbingiem. Tysiące odcinków anime, mangi i seriali w wysokiej jakości. Społeczność fanów anime w Polsce." />
  <meta name="twitter:image" content="https://playani.me/og-image.jpg" />

  <meta name="theme-color" content="#FF6B6B" />
  <meta name="mobile-web-app-capable" content="yes" />
  <meta name="apple-mobile-web-app-capable" content="yes" />
  <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
  <meta name="application-name" content="playani.me" />
  <meta name="apple-mobile-web-app-title" content="playani.me" />

  
  

  <link rel="dns-prefetch" href="//fonts.gstatic.com" />
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
  <link rel="canonical" href="https://playani.me" />

  <script type="application/ld+json">
  {
    "@context": "https://schema.org",
    "@type": "Organization",
    "name": "playani.me",
    "url": "https://playani.me",
    "description": "Darmowa platforma do oglądania anime online z polskimi napisami. Społeczność fanów anime w Polsce.",
    "sameAs": [
      "https://discord.gg/playanime"
    ],
    "contactPoint": {
      "@type": "ContactPoint",
      "contactType": "Customer Support",
      "email": "hello@borealise.com"
    }
  }
  </script>

  <meta name="legal-disclaimer" content="playani.me jest platformą niekomercyjną stworzoną dla fanów anime. Wszystkie tłumaczenia są wykonywane przez społeczność fanów dla celów edukacyjnych i niekomercyjnych. Żaden z prezentowanych tam materiałów nie jest hostowany na naszych serwerach." />
  <script type="module" crossorigin src="/js/DKhWlQTMDdbQnddz.js"></script>
  <link rel="modulepreload" crossorigin href="/js/BVtZgGu_Vh3YUcmc.js">
  <link rel="modulepreload" crossorigin href="/js/Ks2dVvYEMnYeoS1H.js">
  <link rel="modulepreload" crossorigin href="/js/BEOqV_r4J7-_TDBr.js">
  <link rel="modulepreload" crossorigin href="/js/DEIHu---HVihIk5y.js">
  <link rel="modulepreload" crossorigin href="/js/BMLq8AjHW-KyyGoS.js">
  <link rel="modulepreload" crossorigin href="/js/CsHh2uiAuWjjfH53.js">
  <link rel="modulepreload" crossorigin href="/js/DSGmhd1lAG1DwFP7.js">
  <link rel="modulepreload" crossorigin href="/js/th0Yljpd_F8QgbO-.js">
  <link rel="modulepreload" crossorigin href="/js/D6ZXZrCbz8TW59zG.js">
  <link rel="modulepreload" crossorigin href="/js/BukhvCcWGJVkqa2I.js">
  <link rel="modulepreload" crossorigin href="/js/DhkRfymXy9eH7iRU.js">
  <link rel="stylesheet" crossorigin href="/assets/CCyBQcrXrhKMEezc.css">
  <link rel="stylesheet" crossorigin href="/assets/CxeqYCltlcIzfBNq.css">

  <script>window.__PLAYANIME_DATA__={"route":"/assets/wsTC-RRTuQu-RorD.css","type":"spa"};</script>
</head>

<body>
  <noscript>
    <strong>App requires JavaScript to run</strong>
  </noscript>

  <div id="app">
    <style>
      @keyframes spin {
        to { transform: rotate(360deg); }
      }
    </style>

    <div id="preloader" style="position: fixed; inset: 0; background: #000; display: flex; align-items: center; justify-content: center; z-index: 9999;">
      <div style="text-align: center;">
        <div style="width: 60px; height: 60px; border: 3px solid rgba(255, 107, 107, 0.2); border-top-color: #FF6B6B; border-radius: 50%; animation: spin 1s linear infinite; margin: 0 auto 20px;"></div>
      </div>
    </div>
  </div>

  <script>
    window.addEventListener('error', showBootstrapError);
    window.addEventListener('unhandledrejection', (e) => showBootstrapError(e.reason));

    function showBootstrapError(errorOrEvent) {
      var preloader = document.getElementById('preloader');
      if (!preloader || preloader.dataset.errorShown) return;
      preloader.dataset.errorShown = 'true';

      var error = errorOrEvent && errorOrEvent.error ? errorOrEvent.error : errorOrEvent;
      var message = error && error.message ? error.message : 'The application failed to start.';

      preloader.innerHTML =
        '<div style="text-align:center; max-width: 32rem; padding: 0 1.5rem; color: #f4f4f5; font-family: system-ui, sans-serif;">' +
        '<p style="font-size: 1.1rem; font-weight: 600; margin-bottom: 0.5rem;">Something went wrong loading the app</p>' +
        '<p style="font-size: 0.85rem; color: #a1a1aa; word-break: break-word;">' + message.replace(/[<>&]/g, function (c) { return { '<': '&lt;', '>': '&gt;', '&': '&amp;' }[c]; }) + '</p>' +
        '</div>';
    }
  </script>
</body>

</html>