Skip to content

isaias-alt/format-x

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

19 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Format-X πŸš€

Format-X Logo

A powerful tool for converting between different data formats

MIT License Next.js React TypeScript Tailwind CSS

Live Demo β€’ Report Bug β€’ Request Feature

✨ Features

  • πŸ”„ Multi-format Conversion: Convert between JSON, XML, YAML, CSV, and Plain Text
  • πŸš€ Real-time Processing: Instant conversion as you type
  • 🎯 Auto-detection: Automatically detects input format
  • 🎨 Syntax Highlighting: Beautiful Monaco Editor with syntax highlighting
  • πŸ“± Responsive Design: Works perfectly on desktop and mobile
  • πŸŒ™ Dark Theme: Eye-friendly dark interface
  • πŸ“‹ Copy to Clipboard: Easy copying of input and output
  • ⚑ Fast & Efficient: Built with performance in mind
  • πŸ”„ Swap Panels: Quickly swap input and output
  • βœ… Format Validation: Real-time validation with error messages

πŸš€ Quick Start

Prerequisites

  • Node.js 22+
  • pnpm

Installation

  1. Clone the repository

    git clone https://github.com/isaias-alt/format-x.git
    cd format-x
  2. Install dependencies

    pnpm install
  3. Run the development server

    pnpm dev
  4. Open your browser

    Navigate to http://localhost:3000

πŸ› οΈ Tech Stack

πŸ“ Project Structure

format-x/
β”œβ”€β”€ public/
β”‚   β”œβ”€β”€ logo.png
β”‚   β”œβ”€β”€ og.webp
β”‚   β”œβ”€β”€ robots.txt
β”‚   └── site.webmanifest
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ app/
β”‚   β”‚   β”œβ”€β”€ globals.css
β”‚   β”‚   β”œβ”€β”€ layout.tsx
β”‚   β”‚   β”œβ”€β”€ page.tsx
β”‚   β”‚   └── sitemap.ts
β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ converter/
β”‚   β”‚   β”‚   β”œβ”€β”€ converter-panels.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ format-controls.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ input-panel.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ output-panel.tsx
β”‚   β”‚   β”‚   └── status-bar.tsx
β”‚   β”‚   β”œβ”€β”€ ui/
β”‚   β”‚   β”‚   β”œβ”€β”€ button.tsx
β”‚   β”‚   β”‚   └── select.tsx
β”‚   β”‚   β”œβ”€β”€ code-editor.tsx
β”‚   β”‚   β”œβ”€β”€ footer.tsx
β”‚   β”‚   β”œβ”€β”€ header.tsx
β”‚   β”‚   └── monaco-loader.tsx
β”‚   β”œβ”€β”€ hooks/
β”‚   β”‚   β”œβ”€β”€ useConverter.ts
β”‚   β”‚   └── useConverterActions.ts
β”‚   └── lib/
β”‚       β”œβ”€β”€ clipboard.ts
β”‚       β”œβ”€β”€ constants.ts
β”‚       β”œβ”€β”€ converters.ts
β”‚       β”œβ”€β”€ formatDetector.ts
β”‚       β”œβ”€β”€ formatters.ts
β”‚       └── utils.ts
β”œβ”€β”€ LICENSE
β”œβ”€β”€ README.md
β”œβ”€β”€ CONTRIBUTING.md
└── package.json

🎯 Usage Examples

JSON to XML

{
  "name": "John Doe",
  "age": 30,
  "skills": ["JavaScript", "React", "Node.js"]
}

Converts to:

<?xml version="1.0" encoding="UTF-8"?>
<root>
  <name>John Doe</name>
  <age>30</age>
  <skills>
    <item_0>JavaScript</item_0>
    <item_1>React</item_1>
    <item_2>Node.js</item_2>
  </skills>
</root>

JSON to YAML

name: John Doe
age: 30
skills:
  - JavaScript
  - React
  - Node.js

Plain Text to JSON

name: John Doe
age: 30
email: john@example.com

Converts to:

{
  "name": "John Doe",
  "age": "30",
  "email": "john@example.com"
}

🀝 Contributing

Please read our Contributing Guide to learn how you can help make Format-X even better.

Quick contribution steps:

  1. Fork the project
  2. Create your feature branch (git switch -c feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

✨ Contributors

Thanks goes to these wonderful people:

Contribuidores

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

  • Next.js - The React Framework for Production
  • Tailwind CSS - A utility-first CSS framework
  • Monaco Editor - The code editor that powers VS Code
  • shadcn/ui - Beautifully designed components
  • Lucide - Beautiful & consistent icons
  • Vercel - Platform for deployment and hosting

πŸ‘¨β€πŸ’» Author

Lucas Casco


Made with ❀️ by Lucas Casco

If you found this project helpful, please consider giving it a ⭐!

Releases

No releases published

Packages

 
 
 

Contributors