A modern, fast, and free TikTok video & image downloader web application built with Next.js 14, TypeScript, and Tailwind CSS.
Slowtik is a free and open-source web application that allows users to download TikTok videos, images, and audio files without watermarks. Built with modern web technologies, it provides a fast, responsive, and user-friendly interface for downloading TikTok content.
Live Demo: Visit Slowtik
- π₯ Video Download - Download TikTok videos in MP4 format without watermarks
- πΈ Image Download - Download TikTok photo posts (carousel/slideshow)
- π΅ Audio Extraction - Extract and download audio/music from TikTok videos as MMP
- π± Responsive Design - Works seamlessly on desktop, tablet, and mobile devices
- π Modern UI - Beautiful gradient design with smooth animations
- π Download History - Keep track of your downloaded content (stored locally)
- β‘ Fast Processing - Quick video processing and download
- π Privacy Focused - No data stored on servers, all history saved locally
- π Completely Free - No subscriptions, no hidden fees
- Framework: Next.js 14 (App Router)
- Language: TypeScript
- Styling: Tailwind CSS
- UI Components: shadcn/ui
- Animations: Framer Motion
- Icons: Lucide React
- API: TikMate API (external)
- Node.js 18+ or later
- npm, yarn, or pnpm package manager
git clone https://github.com/slowlyh/Slowtik.git
cd SlowtikUsing npm:
npm installUsing yarn:
yarn installUsing pnpm:
pnpm installStart the development server:
npm run dev
# or
yarn dev
# or
pnpm devOpen http://localhost:3000 in your browser to see the application.
Build the application for production:
npm run build
# or
yarn buildRun the production server:
export PORT=3000
npm run start
# or
export PORT=${SERVER_PORT} && npm run startYou can customize the port by changing the PORT environment variable:
export PORT=8080 && npm run startSlowtik/
βββ app/ # Next.js App Router
β βββ api/ # API Routes
β β βββ tiktok/
β β βββ route.ts # TikTok download API endpoint
β βββ fonts/ # Custom fonts
β βββ favicon.ico # Favicon
β βββ globals.css # Global styles
β βββ layout.tsx # Root layout
β βββ page.tsx # Home page (main downloader)
β
βββ components/ # React components
β βββ ui/ # shadcn/ui components
β β βββ alert.tsx
β β βββ badge.tsx
β β βββ button.tsx
β β βββ card.tsx
β β βββ dialog.tsx
β β βββ input.tsx
β β βββ toast.tsx
β β βββ toaster.tsx
β β βββ tooltip.tsx
β β βββ use-toast.ts
β βββ navbar.tsx # Navigation bar component
β βββ result-buttons.tsx # Download result buttons
β βββ result-card.tsx # Download history card
β βββ video-preview-modal.tsx # Video preview modal
β
βββ hooks/ # Custom React hooks
β βββ use-download-history.ts # Download history management hook
β
βββ lib/ # Utility libraries
β βββ utils.ts # Helper functions
β
βββ public/ # Static assets
β βββ ...
β
βββ .eslintrc.json # ESLint configuration
βββ .gitignore # Git ignore file
βββ components.json # shadcn/ui configuration
βββ next.config.js # Next.js configuration
βββ package.json # Project dependencies
βββ postcss.config.mjs # PostCSS configuration
βββ tailwind.config.ts # Tailwind CSS configuration
βββ tsconfig.json # TypeScript configuration
βββ README.md # Project documentation
- Supports standard TikTok video posts
- Downloads without watermark
- Multiple quality options (SD/HD)
- Supports TikTok photo carousels/slideshows
- Downloads all images in a post
- High-quality image preservation
- Extract audio from any TikTok video
- MP3 format output
- Preserves original audio quality
- Automatically saves download history
- Stored locally in browser (localStorage)
- Easy access to previously downloaded content
- Delete individual items or clear all history
- No Server Storage: Videos and images are not stored on our servers
- Local History: Download history is saved only in your browser
- No Tracking: We don't track or collect user data
- Open Source: Full transparency - review the code yourself
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create your feature branch
git checkout -b feature/AmazingFeature
- Commit your changes
git commit -m 'Add some AmazingFeature' - Push to the branch
git push origin feature/AmazingFeature
- Open a Pull Request
Found a bug? Please open an issue with:
- Clear description of the bug
- Steps to reproduce
- Expected vs actual behavior
- Screenshots (if applicable)
- Browser/device information
This project is licensed under the MIT License - see the LICENSE file for details.
This tool is for personal use only. Please respect content creators' rights and TikTok's Terms of Service. Do not use downloaded content for commercial purposes without permission from the original creator.
- Next.js - The React Framework
- Tailwind CSS - Utility-first CSS framework
- shadcn/ui - Re-usable components
- Framer Motion - Animation library
- TikMate API - TikTok media extraction
Made with β€οΈ by slowlyh