https://tiksavr.com/

Eingereichte URL:
https://tiksavr.com/
Bericht beendet:

JavaScript-Variablen · 23 gefunden

NameTyp
onbeforetoggleobject
documentPictureInPictureobject
onscrollendobject
gtagfunction
dataLayerobject
RequestErrorfunction
handleErrorsfunction
SplashComponentfunction
bytesToSizefunction
validateURLfunction

Konsolenprotokoll-Meldungen · 0 gefunden

HTML

<!DOCTYPE html><html lang="en" dir="ltr"><head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, user-scalable=yes, initial-scale=1.0, maximum-scale=5.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>TikSavr.com - TikTok Downloader</title>
    <meta name="description" content="TikTok Video Downloader Without watermark! Now you can download TikTok Videos without any restriction. Just paste your TikTok Video Url and download the video.">
    <meta name="keywords" content="TikTok, TikTok Downloader, TikTok Video Downloader, Download TikTok Videos, Online TikTok Video Downloader, Download TikTok Videos Without Watermark">
    <link rel="shortcut icon" href="https://tiksavr.com/favicon.png" type="image/png">

    <meta property="og:title" content="TikSavr.com - TikTok Downloader">
    <meta property="og:description" content="TikTok Video Downloader Without watermark! Now you can download TikTok Videos without any restriction. Just paste your TikTok Video Url and download the video.">
    <meta property="og:image" content="http://tiksavr.com/cover.jpg">
    <meta property="og:url" content="https://tiksavr.com">
    <meta name="twitter:card" content="http://tiksavr.com/cover.jpg">

    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="">
    <link rel="preload" href="https://fonts.googleapis.com/css2?family=Nunito:wght@300;500;600;700;900&amp;display=swap" as="style">
    <link href="https://fonts.googleapis.com/css2?family=Nunito:wght@300;500;600;700;900&amp;display=swap" rel="stylesheet">
    <link rel="stylesheet" href="https://tiksavr.com/theme-assets/css/app.css?v=c2f15b53722000dcbd8f02e7c81ba907">
    
    <script defer="" src="https://unpkg.com/@alpinejs/[email protected]/dist/cdn.min.js" integrity="sha384-gE382HiLf7oZIQO4e8O4ursZqf9JAjQQgNCRsUyUKfWBMXOiEFm89KxNkJjycgEq" crossorigin="anonymous"></script>
    <script defer="" src="https://unpkg.com/[email protected]/dist/cdn.min.js" integrity="sha384-WJjkwfwjSA9R8jBkDaVBHc+idGbOa+2W4uq2SOwLCHXyNktpMVINGAD2fCYbUZn6" crossorigin="anonymous"></script>
    <link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/toasted.min.css">
    <!-- pull the js file -->
    <script defer="" src="https://unpkg.com/[email protected]/dist/toasted.min.js" integrity="sha384-/MVO8JFl9R2K32DQkRu+OOg3layD72sHHL9HBuMtiu2XCGeIYRL+WI3YizSdB3PF" crossorigin="anonymous"></script>
    <script defer="">
        document.addEventListener('DOMContentLoaded', function () {
            window.toasted = new window.Toasted({
                theme: 'bootstrap',
                position: 'top-center',
                duration: 5000,
            })
        });
    </script>

    <script async="" src="https://www.googletagmanager.com/gtag/js?id=G-DDMBFQ82E7"></script><script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'G-DDMBFQ82E7');
</script></head>
<!-- Google tag (gtag.js) -->


<body>
<header x-data="HeaderComponent()" class="header" aria-label="Main Header">
    <div class="logo">
        <a href="https://tiksavr.com/en" aria-label="TikSavr.com - TikTok Downloader">
            <img src="https://tiksavr.com/theme-assets/images/logo_tiksavr.png?v=c2f15b53722000dcbd8f02e7c81ba907" alt="TikSavr.com - TikTok Downloader" aria-hidden="true" height="40" width="150">
        </a>
    </div>
    <nav aria-label="Main Navigation" :class="{'is-open': showNav}">
        <ul>
            <li>
    <a href="https://tiksavr.com/en/popular-videos" class="">Popular videos</a>
</li>
            <li>
    <a href="https://tiksavr.com/en/how-to-save" class="">How to save TikTok video?</a>
</li>
        </ul>
    </nav>
    <div>
        <div class="change-locale mi-start" x-data="ChangeLocaleComponent()" :class="{'is-open': showMenu}">
    <button class="change-locale-toggle" aria-label="Change locale" @click="toggleMenu()">
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="icon mi-end" aria-hidden="true">
    <path d="M21.721 12.752a9.711 9.711 0 00-.945-5.003 12.754 12.754 0 01-4.339 2.708 18.991 18.991 0 01-.214 4.772 17.165 17.165 0 005.498-2.477zM14.634 15.55a17.324 17.324 0 00.332-4.647c-.952.227-1.945.347-2.966.347-1.021 0-2.014-.12-2.966-.347a17.515 17.515 0 00.332 4.647 17.385 17.385 0 005.268 0zM9.772 17.119a18.963 18.963 0 004.456 0A17.182 17.182 0 0112 21.724a17.18 17.18 0 01-2.228-4.605zM7.777 15.23a18.87 18.87 0 01-.214-4.774 12.753 12.753 0 01-4.34-2.708 9.711 9.711 0 00-.944 5.004 17.165 17.165 0 005.498 2.477zM21.356 14.752a9.765 9.765 0 01-7.478 6.817 18.64 18.64 0 001.988-4.718 18.627 18.627 0 005.49-2.098zM2.644 14.752c1.682.971 3.53 1.688 5.49 2.099a18.64 18.64 0 001.988 4.718 9.765 9.765 0 01-7.478-6.816zM13.878 2.43a9.755 9.755 0 016.116 3.986 11.267 11.267 0 01-3.746 2.504 18.63 18.63 0 00-2.37-6.49zM12 2.276a17.152 17.152 0 012.805 7.121c-.897.23-1.837.353-2.805.353-.968 0-1.908-.122-2.805-.353A17.151 17.151 0 0112 2.276zM10.122 2.43a18.629 18.629 0 00-2.37 6.49 11.266 11.266 0 01-3.746-2.504 9.754 9.754 0 016.116-3.985z"></path>
</svg>
        <span aria-label="Current locale">English</span>
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="arrow mi-start" aria-hidden="true">
    <path fill-rule="evenodd" d="M12.53 16.28a.75.75 0 01-1.06 0l-7.5-7.5a.75.75 0 011.06-1.06L12 14.69l6.97-6.97a.75.75 0 111.06 1.06l-7.5 7.5z" clip-rule="evenodd"></path>
</svg>
    </button>
    <div x-show="showMenu" x-transition="" @click.outside="closeMenu()" class="change-locale-menu inset-i-end" dir="ltr" style="display: none;">
                    <a href="https://tiksavr.com/en">English</a>
                    <a href="https://tiksavr.com/ar">Arabic</a>
                    <a href="https://tiksavr.com/id">Bahasa Indonesia</a>
                    <a href="https://tiksavr.com/de">Deutsch</a>
                    <a href="https://tiksavr.com/es">Español</a>
                    <a href="https://tiksavr.com/tr">Türkçe</a>
                    <a href="https://tiksavr.com/fr">Français</a>
            </div>
</div>

        <button @click="toggleNav()" class="menu-toggle mi-start" aria-label="Toggle Navigation">
            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" x-show="!showNav" aria-hidden="true">
    <path fill-rule="evenodd" d="M2 4.75A.75.75 0 012.75 4h14.5a.75.75 0 010 1.5H2.75A.75.75 0 012 4.75zM2 10a.75.75 0 01.75-.75h14.5a.75.75 0 010 1.5H2.75A.75.75 0 012 10zm0 5.25a.75.75 0 01.75-.75h14.5a.75.75 0 010 1.5H2.75a.75.75 0 01-.75-.75z" clip-rule="evenodd"></path>
</svg>
            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" x-show="showNav" aria-hidden="true" style="display: none;">
    <path d="M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z"></path>
</svg>
        </button>
    </div>
</header>

<section class="splash" aria-label="Download TikTok Video Section" x-data="SplashComponent()" @search-video.window="searchVideo($event)">
    <div class="container">
        <div class="splash-form" x-show="!tiktokVideo">
            <h1>Download TikTok Video</h1>
            <form @submit.prevent="submitForm()" x-ref="form" method="POST" action="https://tiksavr.com/fetch">
                <div class="splash-search pi">
                    <input type="hidden" name="_token" value="Gl7C3B4WIXJMKxeplTzEkixGF46T9D9oB38U2sE6">                    <input x-model="url" name="url" type="url" placeholder="Just insert a link" aria-label="Search Tiktok Video" class="splash-search-input pi-end" required="">
                    <button type="button" @click.prevent="pasteText()" x-show="canPaste" class="splash-paste-button mi-end" aria-label="Paste">
                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="icon mi-end" aria-hidden="true">
    <path fill-rule="evenodd" d="M10.5 3A1.501 1.501 0 009 4.5h6A1.5 1.5 0 0013.5 3h-3zm-2.693.178A3 3 0 0110.5 1.5h3a3 3 0 012.694 1.678c.497.042.992.092 1.486.15 1.497.173 2.57 1.46 2.57 2.929V19.5a3 3 0 01-3 3H6.75a3 3 0 01-3-3V6.257c0-1.47 1.073-2.756 2.57-2.93.493-.057.989-.107 1.487-.15z" clip-rule="evenodd"></path>
</svg>
                        <span aria-hidden="true">Paste</span>
                    </button>
                    <button :disabled="processing" type="submit" class="splash-search-button">
                        <span x-show="!processing">Download</span>
                        <svg x-show="processing" class="icon" viewBox="0 0 24 24" style="display: none;">
    <g fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2">
        <path stroke-dasharray="60" stroke-dashoffset="60" stroke-opacity=".3" d="M12 3C16.9706 3 21 7.02944 21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3Z">
            <animate fill="freeze" attributeName="stroke-dashoffset" dur="1.3s" values="60;0"></animate>
        </path>
        <path stroke-dasharray="15" stroke-dashoffset="15" d="M12 3C16.9706 3 21 7.02944 21 12">
            <animate fill="freeze" attributeName="stroke-dashoffset" dur="0.3s" values="15;0"></animate>
            <animateTransform attributeName="transform" dur="1.5s" repeatCount="indefinite" type="rotate" values="0 12 12;360 12 12"></animateTransform>
        </path>
    </g>
</svg>
                    </button>
                </div>
            </form>
        </div>
                <template x-if="tiktokVideo">
            <div class="splash-video-wrapper">
                <div class="splash-video">
                    <img class="splash-video-bg" x-show="!imageFailed" alt="Splash Bg" :src="decodeURIComponent(tiktokVideo?.coverURL ?? '')" role="presentation" @error="onImageFail()" crossorigin="anonymous">
                    <img :src="tiktokVideo?.author.avatar" :alt="tiktokVideo?.author.username">
                    <h2 x-text="tiktokVideo?.author.username"></h2>
                    <p x-text="tiktokVideo?.caption"></p>
                    <a x-show="tiktokVideo?.watermark?.url" :href="tiktokVideo?.watermark?.url" target="_blank" referrerpolicy="no-referrer" data-extension="mp4" :data-size="tiktokVideo?.watermark?.size" @click.prevent="downloadVideo($event)">Original Video with Watermark</a>

                    <template x-for="dld in tiktokVideo?.downloadUrls" :key="dld.idx">
                        <a :href="dld.url" target="_blank" referrerpolicy="no-referrer" :data-size="dld.size" data-extension="mp4" :data-id="dld.id" @click.prevent="downloadVideo($event)">
                            <span x-text="downloadText(dld) + downloadSize(dld)"></span>
                        </a>
                    </template>

                    <a x-show="tiktokVideo?.mp3URL" :href="tiktokVideo?.mp3URL" target="_blank" referrerpolicy="no-referrer" data-extension="mp3" @click.prevent="downloadVideo($event)">Download MP3 Audio</a>
                </div>
                <button class="reset-video" @click="resetVideo()">Download another video</button>
            </div>
        </template>
    </div>
</section>

    <section class="features-section" aria-label="Feature Section">
    <div class="container">
        <h2>Download TikTok videos with ease</h2>
        <div class="card">
            <img src="https://tiksavr.com/theme-assets/images/feature-download.min.webp?v=c2f15b53722000dcbd8f02e7c81ba907" alt="Unlimited downloads" height="125px" width="200px" loading="lazy">
            <h3>Unlimited downloads</h3>
            <p>Save as many videos as you need, no limits or any other restrictions.</p>
        </div>
        <div class="card">
            <img src="https://tiksavr.com/theme-assets/images/feature-vip.min.webp?v=c2f15b53722000dcbd8f02e7c81ba907" alt="No Watermark!" height="125px" width="200px" loading="lazy">
            <h3>No TikTok Watermark!</h3>
            <p>Download TikTok videos without watermark, it removes the TikTok logo.</p>
        </div>
        <div class="card">
            <img src="https://tiksavr.com/theme-assets/images/feature-mp3.min.webp?v=c2f15b53722000dcbd8f02e7c81ba907" alt="MP4 and MP3 supported" height="125px" width="200px" loading="lazy">
            <h3>MP4 and MP3 supported</h3>
            <p>Save videos in hd quality, MP4 file format or convert to audio MP3.</p>
        </div>
    </div>
</section>
    <section class="how-to-section" aria-label="How to Section">
    <div class="container">
        <h2>Download TikTok video without watermark</h2>
        <p>tiksavr.com is a free tool helping you to download TikTok videos (formerly Musically) without watermarks online. Save TikTok video with the best quality in an MP4 file format with HD resolution. To find out how to use the TikTok video downloader, follow the instructions below. It’s simple process - you can download TikTok without watermark video in just three easy steps.        </p>

        <div class="how-to-card">
            <h3>How to download TikTok without watermark?</h3>
            <ol>
                <li class="inset-i-start">
                    <b>Find a TikTok</b>
                    <span>play a video that you want to save to your mobile device, using the TikTok app</span>
                </li>
                <li class="inset-i-start">
                    <b>Copy the link</b>
                    <span>tap "Share" (the arrow button on top of a chosen video), and then tap "Copy link"</span>
                </li>
                <li class="inset-i-start">
                    <b>Download</b>
                    <span>go back to TikSavr.com - TikTok Downloader and paste the link in the text field on the page and tap on the "Download" button</span>
                </li>
            </ol>
        </div>
    </div>
</section>
    <section class="about-section" aria-label="About Section">
    <div class="container">
        
        <p>TikSavr.com - TikTok Downloader is one of the most popular tools to save no-watermark TikTok videos. No need to install any apps to use our service, all you need is a browser and a valid link to paste in the input field on TikSavr.com - TikTok Downloader website and remove the watermark from TikTok video.</p>

        <div class="service-cards">
            <div class="service-card">
                <div class="icon">
                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
    <path fill-rule="evenodd" d="M15.621 4.379a3 3 0 00-4.242 0l-7 7a3 3 0 004.241 4.243h.001l.497-.5a.75.75 0 011.064 1.057l-.498.501-.002.002a4.5 4.5 0 01-6.364-6.364l7-7a4.5 4.5 0 016.368 6.36l-3.455 3.553A2.625 2.625 0 119.52 9.52l3.45-3.451a.75.75 0 111.061 1.06l-3.45 3.451a1.125 1.125 0 001.587 1.595l3.454-3.553a3 3 0 000-4.242z" clip-rule="evenodd"></path>
</svg>
                </div>
                <p>It's a perfect solution for post-editing and publishing videos.</p>
            </div>
            <div class="service-card">
                <div class="icon">
                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
    <path fill-rule="evenodd" d="M5.5 3A2.5 2.5 0 003 5.5v2.879a2.5 2.5 0 00.732 1.767l6.5 6.5a2.5 2.5 0 003.536 0l2.878-2.878a2.5 2.5 0 000-3.536l-6.5-6.5A2.5 2.5 0 008.38 3H5.5zM6 7a1 1 0 100-2 1 1 0 000 2z" clip-rule="evenodd"></path>
</svg>
                </div>
                <p>It is free. You can save as many mp4 files as you want.</p>
            </div>
            <div class="service-card">
                <div class="icon">
                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
    <path d="M10 8a3 3 0 100-6 3 3 0 000 6zM3.465 14.493a1.23 1.23 0 00.41 1.412A9.957 9.957 0 0010 18c2.31 0 4.438-.784 6.131-2.1.43-.333.604-.903.408-1.41a7.002 7.002 0 00-13.074.003z"></path>
</svg>
                </div>
                <p>Registration is not required. Just open our website and paste the link.</p>
            </div>

            <div class="service-card">
                <div class="icon">
                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
    <path d="M11.983 1.907a.75.75 0 00-1.292-.657l-8.5 9.5A.75.75 0 002.75 12h6.572l-1.305 6.093a.75.75 0 001.292.657l8.5-9.5A.75.75 0 0017.25 8h-6.572l1.305-6.093z"></path>
</svg>
                </div>
                <p>Download TikTok videos without watermark at high speed.</p>
            </div>
            <div class="service-card">
                <div class="icon">
                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
    <path fill-rule="evenodd" d="M17.721 1.599a.75.75 0 01.279.584v11.29a2.25 2.25 0 01-1.774 2.198l-2.041.442a2.216 2.216 0 01-.938-4.333l2.662-.576a.75.75 0 00.591-.734V6.112l-8 1.73v7.684a2.25 2.25 0 01-1.774 2.2l-2.042.44a2.216 2.216 0 11-.935-4.33l2.659-.574A.75.75 0 007 12.53V4.237a.75.75 0 01.591-.733l9.5-2.054a.75.75 0 01.63.149z" clip-rule="evenodd"></path>
</svg>
                </div>
                <p>Save TikTok without watermark in mp4 or mp3 online.</p>
            </div>
            <div class="service-card">
                <div class="icon">
                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
    <path fill-rule="evenodd" d="M2 4.25A2.25 2.25 0 014.25 2h11.5A2.25 2.25 0 0118 4.25v8.5A2.25 2.25 0 0115.75 15h-3.105a3.501 3.501 0 001.1 1.677A.75.75 0 0113.26 18H6.74a.75.75 0 01-.484-1.323A3.501 3.501 0 007.355 15H4.25A2.25 2.25 0 012 12.75v-8.5zm1.5 0a.75.75 0 01.75-.75h11.5a.75.75 0 01.75.75v7.5a.75.75 0 01-.75.75H4.25a.75.75 0 01-.75-.75v-7.5z" clip-rule="evenodd"></path>
</svg>
                </div>
                <p>TikTok download works in every browser and operating system.</p>
            </div>
        </div>
    </div>
</section>
    <section class="usage-section" aria-label="Usage Section">
    <div class="container">
        
        <div class="usage-list">
            <div class="usage">
                <div class="usage-content">
                    <h3>How to download TikTok video on PC</h3>
                    <p>This method is universal and convenient. A file will be saved without any trademark in the highest quality. It works perfectly on Windows, Mac OS, and Linux. PC users are not required to install any additional apps to save TikTok videos, and this is another plus when using this method.</p>
                    <p>In order to use the TikSavr.com - TikTok Downloader app on PC, laptop (Windows 7, 10), Mac, or a laptop you will need to copy a link from the website.</p>
                    <p>Next, go back to TikSavr.com - TikTok Downloader tool and paste the link in the text field on the main page. After that, you need to click on the "Download" button to get the link.</p>
                </div>
                <figure class="usage-image">
                    <img src="https://tiksavr.com/theme-assets/images/usage-pc.min.png?v=c2f15b53722000dcbd8f02e7c81ba907" alt="TikTok downloader on PC" width="1080" height="1080">
                </figure>
            </div>
            <div class="usage">
                <div class="usage-content">
                    <h3>How to download TikTok video on iPhone or iPad (iOS)</h3>
                    <p>If you are an iPhone or iPad owner, you need to install the Documents by Readdle app from the App Store.</p>
                    <p>Due to Apple security policy, iOS users starting with the 12th version can't save TikTok videos directly from the browser. Copy the link of any TikTok file via the app, and launch the Documents by Readdle.</p>
                    <p>In the bottom right corner of the screen, you will see a web browser icon. Tap it.</p>
                    <p>When the browser is open, go to tiksavr.com and paste the link in the text field. Choose the option you like and press the button again. The video will be saved to your device.</p>
                </div>
                <figure class="usage-image">
                    <img src="https://tiksavr.com/theme-assets/images/usage-ios.min.png?v=c2f15b53722000dcbd8f02e7c81ba907" alt="TikTok downloader on iOS" width="1080" height="1080">
                </figure>
            </div>
        </div>


    </div>
</section>
    <section class="faq-section" aria-label="FAQ Section">
    <div class="container">
                
        <div class="accordion" x-data="AccordionComponent()">
    <button class="accordion-toggle" @click="toggleShow()" :class="{'is-open': show}">
        <h4>Do I have to pay to download TikTok video?</h4>
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="icon" aria-hidden="true">
    <path fill-rule="evenodd" d="M12.53 16.28a.75.75 0 01-1.06 0l-7.5-7.5a.75.75 0 011.06-1.06L12 14.69l6.97-6.97a.75.75 0 111.06 1.06l-7.5 7.5z" clip-rule="evenodd"></path>
</svg>
    </button>
    <div class="accordion-content" x-collapse="" x-show="show" style="display: none; height: 0px; overflow: hidden;" hidden="">
        <p>No, you don't have to pay for anything, because our service is always free! We support all modern browsers such as Google Chrome, Mozilla Firefox, Safari, Microsoft Edge etc.</p>
    </div>
</div>

        <div class="accordion" x-data="AccordionComponent()">
    <button class="accordion-toggle" @click="toggleShow()" :class="{'is-open': show}">
        <h4>Do I need to install extensions to use TikTok downloader?</h4>
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="icon" aria-hidden="true">
    <path fill-rule="evenodd" d="M12.53 16.28a.75.75 0 01-1.06 0l-7.5-7.5a.75.75 0 011.06-1.06L12 14.69l6.97-6.97a.75.75 0 111.06 1.06l-7.5 7.5z" clip-rule="evenodd"></path>
</svg>
    </button>
    <div class="accordion-content" x-collapse="" x-show="show" style="display: none; height: 0px; overflow: hidden;" hidden="">
        <p>No. To save and remove the watermark from TikTok online, you just need a link. Paste it into the input field and select the appropriate format for conversion. Our TikTok watermark remover will do the rest.</p>
    </div>
</div>

        <div class="accordion" x-data="AccordionComponent()">
    <button class="accordion-toggle" @click="toggleShow()" :class="{'is-open': show}">
        <h4>Where are TikTok videos saved after downloading?</h4>
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="icon" aria-hidden="true">
    <path fill-rule="evenodd" d="M12.53 16.28a.75.75 0 01-1.06 0l-7.5-7.5a.75.75 0 011.06-1.06L12 14.69l6.97-6.97a.75.75 0 111.06 1.06l-7.5 7.5z" clip-rule="evenodd"></path>
</svg>
    </button>
    <div class="accordion-content" x-collapse="" x-show="show" style="display: none; height: 0px; overflow: hidden;" hidden="">
        <p>When you save from TikTok without trademark, files are usually saved to your default location. In your browser settings, you can change and manually select the destination folder for your downloaded TikTok videos.</p>
    </div>
</div>

        <div class="accordion" x-data="AccordionComponent()">
    <button class="accordion-toggle" @click="toggleShow()" :class="{'is-open': show}">
        <h4>Do I need to have a TikTok account to download TikTok videos?</h4>
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="icon" aria-hidden="true">
    <path fill-rule="evenodd" d="M12.53 16.28a.75.75 0 01-1.06 0l-7.5-7.5a.75.75 0 011.06-1.06L12 14.69l6.97-6.97a.75.75 0 111.06 1.06l-7.5 7.5z" clip-rule="evenodd"></path>
</svg>
    </button>
    <div class="accordion-content" x-collapse="" x-show="show" style="display: none; height: 0px; overflow: hidden;" hidden="">
        <p>No, you do not need to have a TikTok account. You can launch TikTok video download when you have a link to it, just paste it into the input field at the top of the page and click Download. Our TikTok download service will remove the watermark from TikTok and the video will be ready to use in a few seconds.</p>
    </div>
</div>

        <div class="accordion" x-data="AccordionComponent()">
    <button class="accordion-toggle" @click="toggleShow()" :class="{'is-open': show}">
        <h4>Can your TikTok downloader save videos from personal accounts?</h4>
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="icon" aria-hidden="true">
    <path fill-rule="evenodd" d="M12.53 16.28a.75.75 0 01-1.06 0l-7.5-7.5a.75.75 0 011.06-1.06L12 14.69l6.97-6.97a.75.75 0 111.06 1.06l-7.5 7.5z" clip-rule="evenodd"></path>
</svg>
    </button>
    <div class="accordion-content" x-collapse="" x-show="show" style="display: none; height: 0px; overflow: hidden;" hidden="">
        <p>Our TikTok video saver cannot access the content of private accounts and cannot save videos from there. You must make sure the account is public in order for us to save videos for you.</p>
    </div>
</div>

        <div class="accordion" x-data="AccordionComponent()">
    <button class="accordion-toggle" @click="toggleShow()" :class="{'is-open': show}">
        <h4>How to get link for TikTok videos?</h4>
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="icon" aria-hidden="true">
    <path fill-rule="evenodd" d="M12.53 16.28a.75.75 0 01-1.06 0l-7.5-7.5a.75.75 0 011.06-1.06L12 14.69l6.97-6.97a.75.75 0 111.06 1.06l-7.5 7.5z" clip-rule="evenodd"></path>
</svg>
    </button>
    <div class="accordion-content" x-collapse="" x-show="show" style="display: none; height: 0px; overflow: hidden;" hidden="">
        <p>Open the TikTok app and Choose the video you want to save. Click "Share" and then "Copy Link". Your TikTok video download without watermark URL is ready on your clipboard.</p>
    </div>
</div>

    </div>
</section>
<footer class="footer">
    <nav class="footer-nav" aria-label="Footer Navigation">
        <a href="https://tiksavr.com/tos">Terms of Service</a>
        <a href="https://tiksavr.com/privacy">Privacy Policy</a>
        <a href="https://tiksavr.com/en/faq">FAQ</a>
    </nav>
    <noindex>
        <b>This product is in no way affiliated with, authorized, maintained, sponsored or endorsed by TikTok or any of its affiliates or subsidiaries.</b>
    </noindex>
    <p>Copyright © 2024</p>
</footer>
<script>
    window.RequestError = class extends Error {
        constructor(response) {
            super(response.status);
            this.response = response;
        }
    }

    window.handleErrors = function (e) {
        if (!(e instanceof window.RequestError)) {
            window.toasted.show(e.message, {
                type: "error"
            });
        }

        const isJson = e.response.headers.get('Content-Type') === 'application/json';
        const promise = isJson ? e.response.json() : e.response.text();
        promise.then(function (data) {
            if (isJson) {
                window.toasted.show(data.message, {
                    type: "error"
                });
            } else {
                const backdrop = document.createElement('div');
                const bdStyles = {
                    position: 'fixed',
                    top: 0,
                    left: 0,
                    width: '100%',
                    height: '100%',
                    background: 'rgba(0,0,0,0.5)',
                    zIndex: 9999,
                }

                for (style in bdStyles)
                    backdrop.style[style] = bdStyles[style]

                const iframe = document.createElement("iframe")
                const styles = {
                    position: "fixed",
                    height: '90vh',
                    width: '90vw',
                    top: '5vh',
                    left: '5vw',
                    borderRadius: '8px',
                    backgroundColor: '#18171B',
                    border: '0px',
                    zIndex: 99999
                };
                for (style in styles)
                    iframe.style[style] = styles[style];

                backdrop.addEventListener('click', function () {
                    backdrop.remove();
                    iframe.remove();
                });

                iframe.sandbox.add('allow-scripts', 'allow-same-origin', 'allow-popups', 'allow-forms');
                document.body.append(backdrop, iframe);

                const page = document.createElement('html')
                page.innerHTML = data

                iframe.contentWindow.document.open()
                iframe.contentWindow.document.write(page.outerHTML)
                iframe.contentWindow.document.close()
            }
        });
    }
</script>
    <script>
        function SplashComponent() {
            return {
                /**
                 * @var {Record<string, any|Record<string,any>|Record<string,any>[]>}
                 */
                tiktokVideo: null,
                url: "",
                processing: false,
                imageFailed: false,
                onImageFail() {
                    this.imageFailed = true;
                },
                submitForm() {

                    if (!validateURL(this.url)) {
                        return window.toasted.show("Please enter a valid URL", {
                            type: "error"
                        });
                    }

                    this.processing = true;
                    const instance = this;
                    const formData = new FormData(this.$refs.form);

                    fetch(this.$refs.form.action, {
                        method: this.$refs.form.method,
                        body: formData,
                        headers: {
                            "accept": "application/json"
                        }
                    })
                        .then(function (response) {
                            if (response.status !== 200 || !response.headers.get('content-type').includes('json')) {
                                throw new window.RequestError(response);
                            }
                            return response.json();
                        })
                        .then(function (data) {
                            instance.imageFailed = false;
                            instance.tiktokVideo = data;
                        })
                        .catch(function (error) {
                            window.handleErrors(error);
                        })
                        .finally(function () {
                            instance.processing = false;
                        });
                },
                //Paste logic
                get canPaste() {
                    return window.navigator.clipboard;
                },
                pasteText() {
                    if (this.canPaste) {
                        const instance = this;
                        window.navigator.clipboard.readText().then(function (text) {
                            instance.url = text;
                        });
                    }
                },
                downloadText(download) {
                    return (download.isHD ? "Without Watermark [:idx] HD" : "Without Watermark [:idx]").replace(":idx", download.idx + 1);
                },
                downloadSize(download) {
                    if (!download.size) return ''
                    return ' ' + bytesToSize(download.size);
                },

                searchVideo(event) {
                    const instance = this;
                    this.resetVideo(event.detail).then(function () {
                        instance.submitForm();
                        window.scrollTo({top: 0});
                    });
                },
                resetVideo(url = "") {
                    this.url = url;

                    this.tiktokVideo = null;
                    return this.$nextTick();
                },
                downloadVideo(e) {
                    let anchorEl = e.target;
                    if (anchorEl.tagName.toLowerCase() !== 'a') {
                        anchorEl = anchorEl.closest('a');
                    }

                    if (!anchorEl || !anchorEl.href) return;

                    const url = new URL('/download', 'https://tiksavr.com');
                    const extension = anchorEl.dataset.extension ?? 'mp4';
                    const size = anchorEl.dataset.size;
                    const id = anchorEl.dataset.id;

                    url.searchParams.set('url', btoa(anchorEl.href));
                    url.searchParams.set('extension', extension);
                    url.searchParams.set('id', id);
                    if (typeof size === 'string' && size.trim() !== '')
                        url.searchParams.set('size', size);

                    open(url.toString(), "_blank");
                }
            };
        }

        function bytesToSize(bytes) {
            const units = ["byte", "kilobyte", "megabyte", "terabyte", "petabyte"];
            const unit = Math.floor(Math.log(bytes) / Math.log(1024));
            return new Intl.NumberFormat("en", {
                style: "unit",
                unit: units[unit],
                unitDisplay: 'narrow',
                notation: 'compact'
            }).format(bytes / 1024 ** unit);
        }

        function validateURL(url) {
            return /^(https?:\/\/)?(www\.)?vm\.tiktok\.com\/[^\n]+\/?$/.test(url)
                || /^(https?:\/\/)?(www\.)?m\.tiktok\.com\/v\/[^\n]+\.html([^\n]+)?$/.test(url)
                || /^(https?:\/\/)?(www\.)?tiktok\.com\/t\/[^\n]+\/?$/.test(url)
                || /^(https?:\/\/)?(www\.)?tiktok\.com\/@[^\n]+\/video\/[^\n]+$/.test(url)
                || /^(https?:\/\/)?(www\.)?vt\.tiktok\.com\/[^\n]+\/?$/.test(url)
        }
    </script>
    <script>
        function AccordionComponent() {
            return {
                show: false,
                toggleShow() {
                    this.show = !this.show;
                }
            };
        }
    </script>
    <script>
        function HeaderComponent() {
            return {
                showNav: false,
                toggleNav() {
                    this.showNav = !this.showNav;
                }
            };
        }
    </script>
    <script>
        function ChangeLocaleComponent() {
            return {
                showMenu: false,
                closeMenu() {
                    this.showMenu = false;
                },
                toggleMenu() {
                    this.showMenu = !this.showMenu;
                }
            };
        }
    </script>


</body></html>