A beautiful, modern Progressive Web App (PWA) that converts various markup languages to different output formats. Built with PHP, vanilla JavaScript (via CDN), and SQLite.
Built by: Santosh Baral
Company: Techzen Corporation
Website: https://techzeninc.com
- Multiple Markup Support: Convert Markdown, BBCode, reStructuredText, Textile, Wiki Markup, and HTML
- Flexible Output: Generate Plain Text, Rich Text (HTML), Clean HTML, or JSON
- File Upload: Drag & drop or browse files (max 2MB) with auto-detection
- Conversion History: Automatic storage with CRUD operations
- Security: CSRF protection, XSS prevention, SQL injection protection
- Installable: Add to home screen on mobile and desktop
- Offline Detection: Graceful handling when offline
- Fast Loading: Cached assets for instant load times
- Background Sync: Queue conversions when back online
- Responsive: Works seamlessly on all devices
- App-like Experience: Full-screen mode, splash screen, standalone window
- Modern Design: Glassmorphism UI with gradient backgrounds
- Smooth Animations: Fade-in, slide-up effects throughout
- Keyboard Shortcuts:
Ctrl/Cmd + Enter- ConvertCtrl/Cmd + S- DownloadCtrl/Cmd + C- Copy output
- Real-time Character Count: With visual warnings
- Toast Notifications: Success/error feedback
- Syntax Highlighting: Code blocks highlighted with Prism.js
- Mobile-Optimized: Floating action button for quick convert
- PHP 7.4 or higher
- SQLite3 extension enabled
- Web server (Apache/Nginx)
- 50MB disk space
- HTTPS (required for PWA features)
-
Download and extract to your web server:
/var/www/html/techtext/
-
Set permissions:
chmod 755 data/ chown www-data:www-data data/
-
Check requirements:
http://yourdomain.com/techtext/check.php -
Launch application:
http://yourdomain.com/techtext/
# Using Let's Encrypt (Certbot)
sudo certbot --apache -d yourdomain.com
# Or manually configure SSL in your web servertechtext/
โโโ index.php # Main application interface
โโโ api.php # API endpoints
โโโ config.php # Configuration
โโโ database.php # SQLite database layer
โโโ parsers.php # Markup parsers
โโโ app.js # Client-side JavaScript
โโโ sw.js # Service Worker (PWA)
โโโ manifest.json # PWA manifest
โโโ offline.html # Offline page
โโโ check.php # Server requirements check
โโโ .htaccess # Apache configuration
โโโ README.md # Documentation
โโโ icons/ # PWA icons
โ โโโ icon.svg
โ โโโ generate-icons.js
โโโ screenshots/ # PWA screenshots
โโโ data/ # Database storage
โโโ techtext.db
| Format | Description |
|---|---|
| Markdown | Standard Markdown with tables, code blocks |
| BBCode | Bulletin Board Code with common tags |
| reStructuredText | RST with directives and roles |
| Textile | Textile markup language |
| Wiki Markup | MediaWiki-style syntax |
| HTML | Passthrough with cleaning |
| Format | Description |
|---|---|
| Plain Text | Stripped of all markup |
| Rich Text | Full HTML with styling |
| Clean HTML | Sanitized HTML |
| JSON | Structured output |
- Visit the site in Chrome
- Tap the menu (โฎ) โ "Add to Home screen"
- Tap "Install"
- Visit the site in Safari
- Tap Share button โ "Add to Home Screen"
- Tap "Add"
- Visit the site
- Click install icon (โ) in address bar
- Click "Install"
- CSRF Protection: All POST requests require valid tokens
- XSS Prevention: Output escaped and sanitized
- SQL Injection: Prepared statements throughout
- File Upload Validation: MIME type and size checks
- Secure Headers: X-Frame-Options, CSP, etc.
- Session Security: HttpOnly cookies, strict mode
Edit manifest.json:
{
"theme_color": "#2563eb",
"background_color": "#ffffff"
}- Edit
icons/icon.svg - Convert to PNG sizes: 72x72, 96x96, 128x128, 144x144, 152x152, 192x192, 384x384, 512x512
- Place in
icons/folder
Edit inline styles in index.php or add custom CSS.
# Convert markup
curl -X POST https://yourdomain.com/techtext/api.php?action=convert \
-H "X-CSRF-Token: YOUR_TOKEN" \
-d "content=**Bold Text**" \
-d "markup_type=markdown" \
-d "output_format=html"
# Get history
curl https://yourdomain.com/techtext/api.php?action=history
# Upload file
curl -X POST https://yourdomain.com/techtext/api.php?action=upload \
-H "X-CSRF-Token: YOUR_TOKEN" \
-F "file=@document.md"- Ensure HTTPS is enabled
- Check manifest.json is accessible
- Verify service worker is registered
chmod 777 data/
touch data/techtext.db
chmod 666 data/techtext.db- Open DevTools โ Application โ Service Workers
- Click "Update" or "Unregister"
- Hard refresh (Ctrl+F5)
// In browser console:
navigator.serviceWorker.getRegistrations().then(regs => {
regs.forEach(reg => reg.unregister());
});Copyright ยฉ 2026 Techzen Corporation. All rights reserved.
For support, please contact:
- Website: https://techzeninc.com
- Built by: Santosh Baral
TechText - Making markup conversion beautiful and accessible anywhere.
