A modern web application that simplifies IPFS file uploads through Pinata, specifically designed for NFT developers who need to upload images and metadata JSON files to IPFS quickly and securely.
File2IPFS is a user-friendly interface for uploading files to IPFS using Pinata's pinning service. The application streamlines the process of uploading NFT assets (images and JSON metadata) to IPFS, making it easier for developers to deploy their NFT collections without dealing with complex IPFS configurations.
- π Secure JWT Authentication - Uses Pinata JWT tokens for secure API access
- π Custom Gateway Support - Configure your own Pinata gateway for faster access
- π Drag & Drop Upload - Intuitive file upload interface
- π¨ NFT-Focused - Optimized for common NFT file types (images and JSON metadata)
- β‘ Fast & Reliable - Built with modern web technologies for optimal performance
- π± Responsive Design - Works seamlessly across desktop and mobile devices
This project is built with modern web technologies:
- Nuxt.js 3 - Full-stack Vue.js framework
- Vue.js 3 - Progressive JavaScript framework
- TypeScript - Type-safe JavaScript
- Tailwind CSS - Utility-first CSS framework
- Shadcn/ui - Modern component library
- Nuxt Server API - Server-side API routes
- Pinata API - IPFS pinning service
- VueUse Integrations - Composition utilities (JWT handling, cookies)
- PNPM - Fast, disk space efficient package manager
- ESLint - Code linting and quality
- Prettier - Code formatting
- Upload NFT artwork and get IPFS hashes instantly
- Support for common image formats (PNG, JPG, GIF, SVG, WebP)
- Automatic IPFS URL generation for marketplace integration
- Upload JSON metadata files containing NFT attributes
- Validate JSON structure before uploading
- Get IPFS links ready for smart contract deployment
- Batch upload multiple assets for NFT collections
- Consistent naming and organization
- Quick integration with popular NFT marketplaces (OpenSea, Rarible, etc.)
- Node.js 18+
- PNPM package manager
- Pinata account and JWT token
- Clone the repository:
git clone https://github.com/joebertcerezo/File2IPFS.git
cd File2IPFS- Install dependencies:
pnpm install- Start the development server:
pnpm dev- Open your browser and navigate to
http://localhost:3000
-
Get your Pinata JWT token:
- Sign up at Pinata.cloud
- Generate a JWT token from your API keys section
-
Configure your gateway (optional):
- Set up a custom Pinata gateway for faster access
- Use format:
your-gateway.mypinata.cloud
-
Enter credentials:
- Paste your JWT token in the configuration panel
- Add your gateway URL if using a custom gateway
- Click "Configure" to save settings
- Authentication: Enter your Pinata JWT token for secure API access
- Gateway Setup: Configure your preferred IPFS gateway (optional)
- File Upload: Drag and drop or select files to upload
- IPFS Integration: Files are automatically pinned to IPFS via Pinata
- URL Generation: Get instant IPFS URLs for your uploaded files
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
This project is open source and available under the MIT License.
If you find this project helpful for your NFT development workflow, please consider:
- β Starring this repository
- π Reporting bugs or requesting features
- π€ Contributing to the codebase
Made for Web3 developers, by developers π