JPG to PDF Converter – Free & Easy Online Tool

Looking for a quick and easy way to convert JPG images to PDF files? You’ve come to the right place! Our JPG to PDF converter lets you convert image files to high-quality PDF documents quickly and easily — no installation or registration required. Whether you need to share documents, print photos, or organize files efficiently, this tool provides the perfect solution. Simply upload your JPG file, click “Convert” and get your PDF file in seconds!

JPG to PDF Converter

Convert JPG images to PDF documents for free, online and easy to use.

Select JPG images

or drag and drop files here

.jpg-to-pdf-container { max-width: 800px; margin: 0 auto; padding: 20px; font-family: ‘Segoe UI’, Tahoma, Geneva, Verdana, sans-serif; color: #333; } .converter-header { text-align: center; margin-bottom: 30px; } .converter-header h1 { color: #4a6cf7; font-size: 28px; margin-bottom: 10px; } .converter-header p { color: #666; font-size: 16px; } .converter-box { background-color: #f8f9fa; border-radius: 8px; padding: 30px; margin-bottom: 20px; border: 2px dashed #d1d5db; } .upload-area { text-align: center; padding: 30px; cursor: pointer; transition: all 0.3s; } .upload-area:hover { background-color: #f0f4ff; } .upload-icon { margin-bottom: 15px; } .upload-icon svg { width: 60px; height: 60px; } .upload-area h3 { font-size: 18px; margin-bottom: 5px; color: #4a6cf7; } .upload-area p { color: #666; margin-bottom: 20px; } .select-files-btn { background-color: #4a6cf7; color: white; border: none; padding: 10px 20px; border-radius: 4px; font-size: 16px; cursor: pointer; transition: background-color 0.3s; } .select-files-btn:hover { background-color: #3a5bd9; } .file-list { margin-bottom: 20px; } .file-item { display: flex; align-items: center; padding: 10px; background-color: #f8f9fa; border-radius: 4px; margin-bottom: 10px; } .file-icon { margin-right: 10px; color: #4a6cf7; } .file-info { flex: 1; } .file-name { font-weight: 500; margin-bottom: 3px; } .file-size { font-size: 12px; color: #666; } .file-remove { color: #ff4d4f; cursor: pointer; padding: 5px; } .action-buttons { display: flex; justify-content: center; gap: 15px; margin-bottom: 30px; } .action-buttons.hidden { display: none; } .convert-btn { background-color: #4a6cf7; color: white; border: none; padding: 10px 25px; border-radius: 4px; font-size: 16px; cursor: pointer; transition: background-color 0.3s; } .convert-btn:hover { background-color: #3a5bd9; } .clear-btn { background-color: white; color: #ff4d4f; border: 1px solid #ff4d4f; padding: 10px 25px; border-radius: 4px; font-size: 16px; cursor: pointer; transition: all 0.3s; } .clear-btn:hover { background-color: #fff2f0; } .converter-footer { text-align: center; color: #999; font-size: 14px; margin-top: 30px; } .progress-container { padding: 20px; background: #f5f5f5; border-radius: 5px; margin-top: 20px; } .progress-bar { height: 20px; background: #e0e0e0; border-radius: 10px; margin-bottom: 10px; overflow: hidden; } .progress-fill { height: 100%; background: #4a6cf7; width: 0%; transition: width 0.3s; } .progress-text { text-align: center; } .success-message { color: green; text-align: center; padding: 15px; background: #f0f8ff; border-radius: 5px; margin-top: 20px; } .error-message { color: red; text-align: center; padding: 15px; background: #fff0f0; border-radius: 5px; margin-top: 20px; } @media (max-width: 600px) { .jpg-to-pdf-container { padding: 15px; } .converter-box { padding: 20px; } .action-buttons { flex-direction: column; } } document.addEventListener(‘DOMContentLoaded’, function() { // DOM elements const uploadArea = document.getElementById(‘uploadArea’); const fileInput = document.getElementById(‘fileInput’); const selectFilesBtn = document.getElementById(‘selectFilesBtn’); const fileList = document.getElementById(‘fileList’); const actionButtons = document.getElementById(‘actionButtons’); const convertBtn = document.getElementById(‘convertBtn’); const clearBtn = document.getElementById(‘clearBtn’); let files = []; // Event listeners uploadArea.addEventListener(‘click’, () => fileInput.click()); selectFilesBtn.addEventListener(‘click’, (e) => { e.preventDefault(); e.stopPropagation(); fileInput.click(); }); fileInput.addEventListener(‘change’, handleFileSelect); convertBtn.addEventListener(‘click’, convertToPdf); clearBtn.addEventListener(‘click’, clearAllFiles); // Drag and drop functionality [‘dragenter’, ‘dragover’, ‘dragleave’, ‘drop’].forEach(eventName => { uploadArea.addEventListener(eventName, preventDefaults, false); }); function preventDefaults(e) { e.preventDefault(); e.stopPropagation(); } [‘dragenter’, ‘dragover’].forEach(eventName => { uploadArea.addEventListener(eventName, highlight, false); }); [‘dragleave’, ‘drop’].forEach(eventName => { uploadArea.addEventListener(eventName, unhighlight, false); }); function highlight() { uploadArea.style.backgroundColor = ‘#f0f4ff’; uploadArea.style.borderColor = ‘#4a6cf7’; } function unhighlight() { uploadArea.style.backgroundColor = ”; uploadArea.style.borderColor = ‘#d1d5db’; } uploadArea.addEventListener(‘drop’, handleDrop, false); function handleDrop(e) { const dt = e.dataTransfer; const droppedFiles = dt.files; handleFiles(droppedFiles); } // File handling function handleFileSelect(e) { handleFiles(e.target.files); } function handleFiles(newFiles) { for (let i = 0; i { const fileItem = document.createElement(‘div’); fileItem.className = ‘file-item’; fileItem.innerHTML = `