Coded Notepad

Encrypted online notepad for secret and secure notes

For example: mypass123

Create Protected Text Online with Coded Notepad - No Login Required

Vinish.Dev's Coded Notepad is a revolutionary encrypted notepad that lets you create, edit, and protect your sensitive text documents online without requiring any account registration or login credentials. All data stays on your device, securely encrypted in your browser.

šŸ”’

No Login Required

Start protecting your text immediately with just a passcode. No email, no signup, no personal information required. Complete anonymity guaranteed.

šŸ“

Multiple Notes Management

Create unlimited notes, organize them with custom names, and easily search through your collection. Each note is individually encrypted and protected.

šŸŽØ

Rich Text Formatting

Format your text with bold, italic, underline, lists, and different font sizes. Create professional-looking documents with ease.

šŸ“„

Multiple Download Formats

Export your notes in Plain Text (.txt), HTML (.html), or RTF (.rtf) format. Choose the format that best suits your needs.

šŸ”

Military-Grade Encryption

Your data is encrypted with AES-256 encryption before being stored locally. Even if someone accesses your device, your notes remain unreadable.

🌐

Local Browser Storage

Your encrypted notes are stored locally in your browser for complete privacy. Works on desktop, tablet, and mobile browsers. No cloud storage - your data never leaves your device.

Coded Notepad

New note
Start typing your encrypted notes here...
Characters: 0 Auto-saved
×

Change Passcode

Enter your current passcode:

Enter new passcode:

Confirm new passcode:

×

Delete All Data

Enter your passcode to confirm deletion:

āš ļø This action cannot be undone!

×

About Coded Notepad

Introduction

Coded Notepad is a secure, encrypted note-taking application that protects your text with client-side encryption. Your notes are encrypted with your personal passcode before being stored.

How to Use

  • Enter your unique passcode to access your notes
  • Click "New note" to create additional notes
  • Use the rich text toolbar to format your content
  • Search through your notes using the search box
  • Click "edit" next to any note title to rename it
  • Download notes in 3 formats: Plain Text, HTML, or RTF
  • Change your passcode or delete all data from the footer

Privacy & Security

šŸ”’ We store nothing on our servers! All your data is encrypted and stored locally in your browser. Only you have the key (your passcode) to decrypt your notes. Even if someone accessed your device, they would only see encrypted data.

Your privacy is our priority. Happy note-taking! šŸ“

×

Download Note

Choose your preferred download format:

×

Edit Note Name

Enter a new name for this note:

`;const blob = new Blob([htmlContent], { type: 'text/html' }); const url = URL.createObjectURL(blob); const a = document.createElement('a'); a.href = url; a.download = `${note.title}.html`; a.click(); URL.revokeObjectURL(url); }function cpd_downloadAsDocx(note) { // Convert HTML to plain text with proper line breaks for RTF const tempDiv = document.createElement('div'); tempDiv.innerHTML = note.content || 'Empty note'; // Process HTML to preserve structure for RTF let htmlContent = tempDiv.innerHTML; // Replace HTML elements with RTF equivalents htmlContent = htmlContent .replace(/]*>]*><\/div>/gi, '\\par ') // Empty divs .replace(/]*>/gi, '\\par ') // Div start .replace(/<\/div>/gi, '') // Div end .replace(/]*>/gi, '\\par ') // Paragraph start .replace(/<\/p>/gi, '\\par ') // Paragraph end .replace(/]*>/gi, '\\par ') // Line breaks .replace(/]*>/gi, '\\par • ') // List items .replace(/<\/li>/gi, '') // List item end .replace(/]*>/gi, '\\par ') // Lists .replace(/<\/ul>/gi, '\\par ') .replace(/]*>/gi, '\\par ') .replace(/<\/ol>/gi, '\\par ') .replace(/]*>/gi, '\\par \\par ') // Headings .replace(/<\/h[1-6]>/gi, '\\par ') // Handle formatting .replace(/]*>/gi, '\\b ') .replace(/<\/strong>/gi, '\\b0 ') .replace(/]*>/gi, '\\b ') .replace(/<\/b>/gi, '\\b0 ') .replace(/]*>/gi, '\\i ') .replace(/<\/em>/gi, '\\i0 ') .replace(/]*>/gi, '\\i ') .replace(/<\/i>/gi, '\\i0 ') .replace(/]*>/gi, '\\ul ') .replace(/<\/u>/gi, '\\ul0 ') // Remove any remaining HTML tags .replace(/<[^>]+>/g, '');// Set processed content tempDiv.innerHTML = htmlContent; const processedText = tempDiv.textContent || tempDiv.innerText || ''; // Clean up RTF text const cleanedRtfText = processedText .replace(/\\par\s+\\par\s+\\par/g, '\\par \\par ') // Clean multiple pars .trim();// Create RTF content const rtfContent = `{\\rtf1\\ansi\\deff0 {\\fonttbl {\\f0 Times New Roman;}} \\f0\\fs24 \\b ${note.title}\\b0\\par \\par ${cleanedRtfText} }`;const blob = new Blob([rtfContent], { type: 'application/rtf' }); const url = URL.createObjectURL(blob); const a = document.createElement('a'); a.href = url; a.download = `${note.title}.rtf`; a.click(); URL.revokeObjectURL(url); }function cpd_updatePlaceholder() { const editor = document.getElementById('cpd_richEditor'); const content = editor.innerHTML.trim(); if (content === '' || content === '
' || content === '

') { editor.classList.add('empty'); } else { editor.classList.remove('empty'); } }function cpd_exitPad() { location.reload(); }function cpd_showAbout() { document.getElementById('cpd_aboutModal').style.display = 'block'; }let cpd_editingNoteId = null;function cpd_openEditNoteModal(noteId) { cpd_editingNoteId = noteId; const note = cpd_notes[noteId]; if (note) { document.getElementById('cpd_editNoteName').value = note.title || 'New note'; document.getElementById('cpd_editNoteModal').style.display = 'block'; setTimeout(() => { const nameInput = document.getElementById('cpd_editNoteName'); nameInput.focus(); nameInput.select(); }, 150); } }function cpd_saveNoteName() { const newName = document.getElementById('cpd_editNoteName').value.trim(); if (!newName) { cpd_showCustomAlert('Please enter a note name'); return; }if (cpd_editingNoteId && cpd_notes[cpd_editingNoteId]) { cpd_notes[cpd_editingNoteId].title = newName; cpd_notes[cpd_editingNoteId].customTitle = true; // Mark as manually named cpd_renderNotesList(); cpd_saveAllNotes(); cpd_closeModal('cpd_editNoteModal'); cpd_editingNoteId = null; // Refocus editor after closing modal cpd_focusEditor(); } }// Click outside modal to close (but exclude the edit note modal to prevent accidental closes) window.onclick = function(event) { if (event.target.classList.contains('cpd_modal') && event.target.id !== 'cpd_editNoteModal') { event.target.remove(); } }// Focus on code input when page loads window.onload = function() { const codeInput = document.getElementById('cpd_codeInput'); if (codeInput) { codeInput.focus(); // Add enter key support for login codeInput.addEventListener('keypress', function(e) { if (e.key === 'Enter') { cpd_openPad(); } }); } // Add enter key support for edit note modal document.addEventListener('keypress', function(e) { if (e.key === 'Enter') { const editModal = document.getElementById('cpd_editNoteModal'); if (editModal && editModal.style.display === 'block') { cpd_saveNoteName(); } } }); // Add placeholder behavior to rich text editor const editor = document.getElementById('cpd_richEditor'); if (editor && editor.innerHTML.trim() === '') { editor.classList.add('empty'); }if (editor) { editor.addEventListener('focus', function() { if (this.classList.contains('empty')) { this.classList.remove('empty'); } });editor.addEventListener('blur', function() { cpd_updatePlaceholder(); }); } }