A professional, feature-rich note-taking application built with React, TypeScript, and modern web technologies.
- Full-featured WYSIWYG editor powered by TipTap/ProseMirror
- Text formatting: Bold, Italic, Underline,
Strikethrough - Headings (H1, H2, H3)
- Lists (bullet and numbered)
- Text highlighting
- Hyperlinks
- Text alignment (left, center, right)
- Undo/Redo functionality
Available in 10+ languages:
- English (en)
- EspaΓ±ol (es)
- FranΓ§ais (fr)
- Deutsch (de)
- δΈζ (zh)
- ζ₯ζ¬θͺ (ja)
- νκ΅μ΄ (ko)
- Ψ§ΩΨΉΨ±Ψ¨ΩΨ© (ar)
- ΰ€Ήΰ€Ώΰ€¨ΰ₯ΰ€¦ΰ₯ (hi)
- PortuguΓͺs (pt)
- Light mode - Clean and bright
- Dark mode - Easy on the eyes
- Sepia mode - Comfortable reading
- Create and manage folders
- Organize notes hierarchically
- Quick search functionality
- Tag support for better categorization
Export your notes in multiple formats:
- Markdown (.md)
- HTML (.html)
- PDF (.pdf)
Work efficiently with powerful keyboard shortcuts:
Ctrl+N- Create new noteCtrl+K- Open command paletteCtrl+F- Search notesCtrl+S- Save note (auto-save enabled)Esc- Close dialogs
Never lose your work! Notes are automatically saved as you type with intelligent debouncing.
Works seamlessly on desktop, tablet, and mobile devices.
- React 18 - UI framework
- TypeScript - Type safety
- Vite - Build tool
- Tailwind CSS - Styling
- TipTap - Rich text editor
- Zustand - State management
- i18next - Internationalization
- jsPDF & html2canvas - PDF export
- Lucide React - Icons
- Node.js 18+
- npm or yarn
- Clone the repository:
git clone <repository-url>
cd advanced-notepad- Install dependencies:
npm install- Start the development server:
npm run dev- Open your browser and navigate to
http://localhost:5173
npm run buildThe production-ready files will be in the dist directory.
npm run previewsrc/
βββ components/
β βββ Editor/
β β βββ RichEditor.tsx # TipTap rich text editor
β βββ Layout/
β β βββ Header.tsx # Top navigation bar
β β βββ Sidebar.tsx # Notes and folders sidebar
β βββ UI/
β βββ CommandPalette.tsx # Command search interface
β βββ WelcomeScreen.tsx # First-time user screen
βββ hooks/
β βββ useAutoSave.ts # Auto-save functionality
β βββ useKeyboard.ts # Keyboard shortcuts handler
βββ stores/
β βββ notesStore.ts # Notes and folders state
β βββ uiStore.ts # UI preferences state
βββ i18n/
β βββ index.ts # i18n configuration
β βββ locales/ # Translation files
β βββ en.json
β βββ es.json
β βββ ...
βββ utils/
β βββ export.ts # Export functionality
β βββ storage.ts # LocalStorage helpers
βββ types/
β βββ index.ts # TypeScript type definitions
βββ App.tsx # Main application component
βββ main.tsx # Application entry point
βββ index.css # Global styles
The application uses Zustand for state management with persistence:
- Notes Store: Manages notes, folders, and search functionality
- UI Store: Manages theme, language, and UI state
All data is persisted to localStorage automatically.
Built with react-i18next for seamless language switching. Adding new languages is straightforward - just add a new JSON file in src/i18n/locales/.
Three carefully crafted themes:
- Implemented with Tailwind CSS dark mode
- Custom sepia theme for comfortable extended reading
- Theme preference persisted across sessions
- Markdown: Plain text export with formatting preserved
- HTML: Styled HTML document ready to open in any browser
- PDF: High-quality PDF export using html2canvas and jsPDF
- Chrome/Edge (latest)
- Firefox (latest)
- Safari (latest)
- Mobile browsers (iOS Safari, Chrome Mobile)
The application stores all data locally in your browser using localStorage. No server or account required!
Note: localStorage has a size limit (typically 5-10MB). For large note collections, consider exporting important notes regularly.
Contributions are welcome! Please feel free to submit a Pull Request.
MIT License - feel free to use this project for personal or commercial purposes.
Potential features for future releases:
- Cloud sync with backend integration
- Real-time collaboration
- Note encryption
- Advanced search with filters
- Code syntax highlighting
- Image and file attachments
- Import from other note-taking apps
- Browser extension
- Desktop application (Electron)
- Mobile app (React Native)
If you encounter any issues or have questions, please open an issue on GitHub.
Built with modern web technologies and inspired by the best note-taking applications.