Transform JSON data into beautifully formatted HTML or Markdown with real-time preview
Demo β’ Features β’ Quick Start β’ Usage β’ Tech Stack
A production-ready Nuxt 3 application that converts JSON data into structured HTML or Markdown with live preview capabilities. Perfect for API documentation, data visualization, and content generation workflows.
- π¨ Modern UI/UX - Clean, Apple-inspired interface with intuitive split-pane editor
- β‘ Real-time Preview - Instant visual feedback as you edit JSON
- π Bidirectional Conversion - Seamlessly switch between HTML and Markdown output
- π API Integration - Fetch and transform data from any REST endpoint
- π± Responsive Design - Optimized for desktop, tablet, and mobile devices
- π‘οΈ Type-Safe - Built with TypeScript for enhanced developer experience
- π― Zero Config - Works out of the box with sensible defaults
- Dynamic JSON Parsing - Handles complex nested structures, arrays, and edge cases
- Smart Formatting - Automatically formats output with proper indentation and syntax
- HTML Sanitization - DOMPurify integration for secure HTML rendering
- Markdown Rendering - Powered by markdown-it with full GFM support
- PDF Export - Generate PDF documents from converted content (html2pdf.js)
- Error Handling - Graceful error states with helpful validation messages
- SSR Support - Server-side rendering for optimal performance and SEO
- Hot Module Replacement - Lightning-fast development with instant updates
- Component Architecture - Modular, reusable Vue 3 Composition API components
- Tailwind CSS - Utility-first styling with custom design system
- Font Awesome - Professional icon library for enhanced UI
- Nuxt 3 - Vue-based meta-framework with SSR/SSG capabilities
- Vue 3 - Composition API,
<script setup>, and reactive state management - TypeScript - Type-safe development with full IntelliSense
- Tailwind CSS - Utility-first CSS framework
- Font Awesome - Icon library via
@fortawesome/vue-fontawesome - PostCSS & Autoprefixer - CSS processing and vendor prefixing
- markdown-it - Markdown parser with plugin support
- DOMPurify - XSS sanitizer for HTML content
- html2pdf.js - Client-side PDF generation
- vue-markdown-render - Vue 3 markdown renderer
- Node.js >= 18.x
- npm / pnpm / yarn / bun
# Clone the repository
git clone https://github.com/yourusername/html-parser.git
cd html-parser
# Install dependencies (choose one)
npm install
# or
pnpm install
# or
yarn install
# or
bun installStart the development server at http://localhost:3000:
npm run devThe app features:
- π₯ Hot module replacement
- π― Auto-import for components and composables
- π Vue DevTools integration
Generate production-ready build:
npm run buildPreview production build locally:
npm run previewThis app can be deployed to:
- Vercel / Netlify - Zero-config deployment
- Cloudflare Pages - Edge network with SSR support
- Node.js Server - Self-hosted with PM2 or Docker
- Static Hosting - Pre-render with
npm run generate
See Nuxt Deployment Docs for detailed guides.
-
Input JSON Data
- Paste JSON directly into the editor
- Or fetch from any public API endpoint
-
Convert
- Click "Convert to HTML" for HTML output
- Click "Convert to Markdown" for Markdown output
-
Preview & Export
- View formatted output in real-time
- Copy or export as needed
Try these public APIs:
# User data
https://reqres.in/api/users?page=2
# Posts
https://jsonplaceholder.typicode.com/posts
# GitHub repos
https://api.github.com/users/github/reposhtml-parser/
βββ app.vue # Root component with main logic
βββ components/
β βββ ViewBox.vue # Reusable code preview component
βββ plugins/
β βββ fontawesome.js # Font Awesome configuration
βββ assets/
β βββ css/
β βββ main.css # Global styles & Tailwind imports
βββ nuxt.config.ts # Nuxt configuration
βββ tailwind.config.js # Tailwind customization
βββ tsconfig.json # TypeScript configuration
The application follows Vue 3 Composition API patterns with:
- Reactive State Management - Using
reactive()for mutable state - Composable Utilities - Reusable logic extraction
- Type Safety - TypeScript interfaces for props and emits
- Code Splitting - Automatic route-based chunks
- Lazy Loading - Dynamic imports for heavy libraries
- SSR Hydration - Fast initial page load with client takeover
- Tree Shaking - Minimal bundle size via ES modules
- Custom transformation templates
- JSON schema validation
- Batch file processing
- Export to React/Vue components
- Dark mode support
- Collaborative editing
- API authentication support
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is open source and available under the MIT License.
Built with modern web technologies and inspired by developer-first design principles.
Made with β€οΈ using Nuxt 3 & Vue 3
