Demo URL: https://screenshot.nivekithan.com/
Screenshot any website using this free tool. It uses Cloudflare browser engine to generate high-quality screenshots of web pages.
- Take screenshots of any publicly accessible website
- Multiple device types support (mobile, tablet, desktop)
- Full page screenshot option
- Built with Remix and deployed on Cloudflare Pages
- Fast and reliable using Cloudflare Workers
- Frontend: Remix (React framework)
- Styling: Tailwind CSS with Radix UI components
- Platform: Cloudflare Pages + Workers
- API: Cloudflare Workers with Browser API
- Storage: Cloudflare R2 for screenshot storage
This project is configured for deployment on Cloudflare Pages with the following setup:
- Node.js 20.4.0 or higher
- pnpm package manager
- Cloudflare account with Pages and Workers enabled
-
Clone the repository:
git clone <repository-url> cd screenshot-page
-
Install dependencies:
pnpm install
-
Start the development server:
pnpm run dev
-
Open http://localhost:3000 in your browser
To build the project for production:
pnpm run build
The project is configured to deploy automatically to Cloudflare Pages:
-
Build Settings:
- Build command:
pnpm run build
- Build output directory:
public
- Node.js version: 20.4.0+
- Build command:
-
Environment Variables:
SCREENSHOT_API_URL
: URL of the screenshot API worker
-
Files Configuration:
- Routes are configured in
public/_routes.json
- Headers are set in
public/_headers
- Routes are configured in
The screenshot functionality is powered by a separate Cloudflare Worker located in the screenshot_api_sdk/
directory:
- Worker Name:
screenshot_api_sdk
- Configuration:
screenshot_api_sdk/wrangler.toml
- Browser API: Uses Cloudflare's browser rendering
- Storage: Cloudflare R2 bucket for screenshot storage
To deploy the worker:
cd screenshot_api_sdk
wrangler deploy
pnpm run dev
- Start development serverpnpm run build
- Build for productionpnpm run start
- Start production server locallypnpm run typecheck
- Run TypeScript type checking
├── app/ # Remix application
│ ├── components/ # React components
│ ├── routes/ # Remix routes
│ └── lib/ # Utility functions
├── screenshot_api_sdk/ # Cloudflare Worker for screenshots
├── public/ # Static assets and configuration
└── functions/ # Cloudflare Pages Functions
MIT License - see the LICENSE file for details.