Overview
CvSnap is a premium, production-ready HTML5 Resume/CV Builder that runs entirely in the browser. No backend server, no database, no sign-up required — everything is powered by pure HTML5, CSS3, and vanilla JavaScript.
Key Selling Points: 100% offline capable, no backend needed, instant PDF generation, 20+ professional templates, 8 color themes, unlimited CVs with localStorage, beautiful SaaS landing page included.
20+ Templates
Classic, Modern, Elegant, Developer, and more
8 Color Themes
Ocean, Emerald, Purple, Sunset, and more
PDF Download
Real PDF via html2canvas + jsPDF
Live Preview
Real-time preview as you type
Multiple CVs
Create & manage unlimited resumes
Dark Mode
Full light/dark theme toggle
Features
Core Features
- 20+ Professional Templates: Classic, Modern, Elegant, Minimal, Professional, Creative, Executive, Developer, Designer, Academic, Compact, Timeline, Infographic, Bold, Clean, Corporate, Startup, Freelancer, Graduate, Premium
- 8 Color Presets: Ocean Blue, Emerald Green, Royal Purple, Sunset Orange, Crimson Red, Teal, Slate, Rose
- Comprehensive CV Sections: Personal info, Experience (add/remove), Education (add/remove), Skills with level bars (0-100%), Languages with proficiency, Tools & Technologies tags
- Profile Photo URL Support: Add a profile picture via any image URL
- Real PDF Download: Powered by html2canvas + jsPDF, runs entirely in the browser
- Live Preview: See changes instantly as you type
- Multiple CV Management: Create, save, duplicate, and delete multiple CVs
- Auto-Save: Changes are automatically saved to localStorage
UI/UX Features
- Light/Dark Mode: Full theme toggle with persistent preference
- Responsive Design: Works on desktop, tablet, and mobile
- SaaS Landing Page: Complete marketing page with hero, features, pricing, testimonials
- Login Modal: Pre-built authentication UI (connect your own backend)
- Privacy Policy Page: GDPR-ready privacy policy template
- Terms & Conditions Page: Complete legal terms template
- Documentation Page: This comprehensive guide
- Scroll Animations: Smooth intersection observer animations
- Toast Notifications: Elegant notification system
Technical Features
- Pure HTML5/CSS3/JS: No framework dependencies (React, Vue, Angular not required)
- 100% Offline: Works without internet (after initial load of CDN libraries)
- No Backend Required: Everything runs client-side
- localStorage Persistence: Data survives browser refreshes
- SEO Optimized: Proper meta tags, semantic HTML, heading structure
- Clean Code: Well-organized, commented, and maintainable
Installation
Zero configuration required! CvSnap is a static HTML application. Simply upload the files to any web server or open index.html directly in your browser.
Option 1: Direct File Access
- Extract the downloaded ZIP file to a folder on your computer
- Open
index.htmlin your web browser (Chrome, Firefox, Safari, Edge) - That's it! Start building your resume
Option 2: Web Server (Recommended)
- Upload all files to your web server (Apache, Nginx, etc.)
- Navigate to your domain in a web browser
- The landing page will load at
yourdomain.com/index.html - The editor is at
yourdomain.com/editor.html
Option 3: Local Development Server
If you have Node.js installed, you can use any static file server:
# Using npx (no install needed)
npx serve .
# Using Python
python -m http.server 8000
# Using PHP
php -S localhost:8000
CDN Dependencies
CvSnap loads the following libraries from CDN for PDF generation:
| Library | Version | Purpose | CDN |
|---|---|---|---|
| html2canvas | 1.4.1 | Screenshot capture | cdnjs |
| jsPDF | 2.5.1 | PDF generation | cdnjs |
| Google Fonts | — | Typography (Inter, Outfit) |
If you need to work fully offline, download these libraries and update the <script> and <link> tags in editor.html and css/style.css to reference local copies.
File Structure
CvSnap/
├── index.html # SaaS Landing Page
├── editor.html # CV Editor (main app)
├── privacy.html # Privacy Policy page
├── terms.html # Terms & Conditions page
├── documentation.html # This documentation
├── css/
│ ├── style.css # Global design system & landing page styles
│ ├── editor.css # Editor-specific styles
│ └── pages.css # Privacy, Terms, Docs page styles
└── js/
├── app.js # Landing page interactivity
├── editor.js # Editor logic (form, preview, PDF, CV mgmt)
├── templates.js # 20 template render functions + color presets
└── storage.js # localStorage CRUD manager
Getting Started
Quick Start
- Open
index.htmlto see the landing page - Click "Start Building Free" to open the editor
- Fill in your personal information in the left sidebar
- Add experience, education, skills, languages, and tools
- Watch the live preview update in real-time on the right
- Choose a template and color theme from the top toolbar
- Click "Download PDF" when you're ready
Loading Sample Data
Click the "📋 Load Sample" button at the bottom of the sidebar to populate all fields with example data. This is a great way to see how your chosen template looks with content.
Templates
CvSnap includes 20 professionally designed templates. Each template is a JavaScript render function in js/templates.js that takes CV data and a color preset, then returns formatted HTML.
| # | Template | Style | Best For |
|---|---|---|---|
| 1 | Classic | Two-column, sidebar | General use, all industries |
| 2 | Modern | Dark sidebar, accent colors | Tech, creative roles |
| 3 | Elegant | Centered, refined | Senior roles, consulting |
| 4 | Minimal | Clean whitespace | Design, minimalist preference |
| 5 | Professional | Corporate, header banner | Corporate, management |
| 6 | Creative | Bold gradient header | Marketing, creative industries |
| 7 | Executive | Formal, serif fonts | C-suite, board positions |
| 8 | Developer | Code-inspired, dark | Software developers |
| 9 | Designer | Portfolio visual | UI/UX designers, artists |
| 10 | Academic | Traditional, serif | Research, academia, teaching |
| 11 | Compact | Dense, small fonts | Lots of experience to show |
| 12 | Timeline | Timeline visualization | Career progression focus |
| 13 | Infographic | Visual data, icons | Visual impact, creative |
| 14 | Bold | Large headings | Strong first impression |
| 15 | Clean | Ultra-clean borders | Simple elegance |
| 16 | Corporate | Business formal bar | Banking, finance, law |
| 17 | Startup | Modern tech feel | Startup culture / tech |
| 18 | Freelancer | Project card grid | Freelancers, contractors |
| 19 | Graduate | Entry-level gradient | Fresh graduates, interns |
| 20 | Premium | Luxury dark design | Executive, premium feel |
Switching Templates
Click the template selector button in the toolbar to open the template gallery. Click any template to switch instantly — your content is preserved across template changes.
Color Presets
Each template supports 8 professionally curated color themes:
| Preset | Primary Color | Hex Code | Style |
|---|---|---|---|
| Ocean | Blue | #2563eb | Professional, trustworthy |
| Emerald | Green | #059669 | Fresh, growth-oriented |
| Purple | Violet | #7c3aed | Creative, innovative |
| Sunset | Orange | #ea580c | Energetic, bold |
| Crimson | Red | #dc2626 | Powerful, passionate |
| Teal | Teal | #0d9488 | Calm, balanced |
| Slate | Gray | #475569 | Neutral, conservative |
| Rose | Pink | #e11d48 | Modern, distinctive |
Click any color dot in the toolbar to apply instantly. The selected color is saved with each CV.
Editor Guide
Layout
The editor has three main areas:
- Top Toolbar: Logo, CV name, template selector, color presets, theme toggle, My CVs, Download PDF
- Left Sidebar: Accordion-style form with collapsible sections for all CV data
- Right Preview: Live A4-sized preview that updates as you type
Sections
- Personal Information: Name, title, email, phone, location, website, LinkedIn, GitHub, photo URL, summary
- Experience: Add unlimited entries with position, company, dates, descriptions. Mark current positions with "Currently working here" checkbox
- Education: Add unlimited entries with degree, field, institution, dates, description
- Skills: Add skills with name and level slider (0-100%). Rendered as visual progress bars
- Languages: Add languages with proficiency level slider
- Tools & Technologies: Tag-based input — type and press Enter to add, Backspace to remove last tag
Auto-Save
All changes are automatically saved to localStorage 500ms after your last keystroke. You never need to manually save.
PDF Download
PDF generation uses html2canvas to capture the preview as an image, then jsPDF to embed it in a PDF file.
How It Works
- Click "📥 Download PDF" in the toolbar
- A progress spinner appears while the PDF is being generated
- The preview is resized to exact A4 dimensions (794px width)
- html2canvas captures the preview at 2x resolution for sharp output
- jsPDF creates an A4 PDF and embeds the image
- The PDF is automatically downloaded to your device
Tips for Best PDF Quality
- Use a modern browser (Chrome recommended) for best results
- Ensure all content fits on one page if possible
- Profile photos must be from URLs that allow cross-origin access (CORS)
- If the PDF looks blurry, try zooming your browser to 100% before downloading
Multiple CVs
CvSnap supports creating and managing multiple CVs. Each CV is independently stored with its own template, color theme, and content.
Managing CVs
- Create: Click "📂 My CVs" → "Create New CV"
- Switch: Click any CV in the list to load it
- Duplicate: Click the 📋 icon to clone a CV
- Delete: Click the 🗑️ icon (with confirmation)
- Rename: Edit the CV name in the toolbar input field
Customization
Adding New Templates
To add a custom template:
- Open
js/templates.js - Add a new function to the
TEMPLATESobject:
TEMPLATES.mytemplate = function(data, c) {
return `
<div style="font-family:'Inter',sans-serif;padding:30px;">
<h1 style="color:${c.primary};">
${escapeHtml(data.fullName)}
</h1>
<!-- Your template HTML here -->
</div>
`;
};
- Add an entry to
TEMPLATE_LISTarray:
{ id: 'mytemplate', name: 'My Template', desc: 'My custom design', category: 'Custom' }
Adding New Color Presets
Add a new entry to the COLOR_PRESETS object in js/templates.js:
COLOR_PRESETS.custom = {
primary: '#8b5cf6',
light: '#ede9fe',
dark: '#6d28d9',
bg: '#f5f3ff',
text: '#3b1f7e'
};
Then add a corresponding color dot in editor.html:
<div class="color-preset" data-color="custom" title="Custom"
style="background:#8b5cf6;"></div>
Modifying CSS Variables
The design system is built with CSS custom properties in css/style.css. You can customize:
- Colors:
--primary,--secondary,--accent - Typography:
--font-heading,--font-body - Spacing:
--space-*tokens - Borders:
--radius-*tokens - Shadows:
--shadow-*tokens
Dark Mode
CvSnap supports full light/dark mode toggle. The current preference is stored in localStorage and persisted across pages and sessions.
Dark mode styles are defined using [data-theme="dark"] CSS selectors that override the default light theme variables.
Note: Dark mode affects the editor UI only — resume templates always render on a white background for PDF compatibility.
Browser Support
| Browser | Version | Status |
|---|---|---|
| Google Chrome | 90+ | ✅ Fully Supported |
| Mozilla Firefox | 90+ | ✅ Fully Supported |
| Microsoft Edge | 90+ | ✅ Fully Supported |
| Safari | 15+ | ✅ Fully Supported |
| Opera | 80+ | ✅ Fully Supported |
| Internet Explorer | Any | ❌ Not Supported |
Frequently Asked Questions
Is my data safe?
Yes! All data is stored in your browser's localStorage and never transmitted to any server. Your resume information stays on your device.
Can I use this offline?
After the first load (which fetches CDN libraries and Google Fonts), the application works offline. For fully offline use, download the CDN libraries locally.
What happens if I clear my browser data?
Clearing browser data (localStorage) will delete all saved CVs. Always download PDF copies of important resumes as backup.
Can I add more than 20 templates?
Yes! See the Customization section for instructions on adding custom templates.
Why does my photo not appear in the PDF?
Profile photos loaded from external URLs may be blocked by CORS (Cross-Origin Resource Sharing) policies. Use a photo URL from a CORS-friendly host, or convert your photo to a base64 data URL.
Can I deploy this as a SaaS product?
Yes, with the Extended License. You can add your own authentication backend, payment system, and custom branding.
How do I connect a real login system?
The login modal in the landing page is a UI template. To add real authentication:
- Choose an auth provider (Firebase Auth, Supabase, Auth0, etc.)
- Modify
js/app.jsto handle the login form submission - Store user tokens and sync CV data with your backend
Changelog
Version 1.0.0 — April 2026
- 🎉 Initial release
- ✅ 20 professional templates
- ✅ 8 color presets
- ✅ Real PDF download (html2canvas + jsPDF)
- ✅ Live preview with real-time updates
- ✅ Experience, Education with add/remove
- ✅ Skills with level bars (0–100%)
- ✅ Languages with proficiency levels
- ✅ Tools & Technologies tags
- ✅ Profile photo URL support
- ✅ Multiple CV management
- ✅ Light/Dark mode
- ✅ SaaS landing page
- ✅ Login modal UI
- ✅ Privacy Policy page
- ✅ Terms & Conditions page
- ✅ Comprehensive documentation
- ✅ Responsive design
- ✅ Auto-save functionality
Support
If you have questions, issues, or feature requests, please reach out through the following channels:
- CodeCanyon Comments: Leave a comment on the item page
- Email: support@CvSnap.app
- Response Time: We aim to respond within 24-48 business hours
If you enjoy CvSnap, please take a moment to rate it on CodeCanyon. Your rating helps us improve and reach more users!
Thank you for choosing CvSnap! 🚀
© 2026 CvSnap. All rights reserved.