{"id":31761101,"url":"https://github.com/panz3r/firefox-bookmarks","last_synced_at":"2026-06-18T20:31:36.921Z","repository":{"id":317569967,"uuid":"999903540","full_name":"panz3r/firefox-bookmarks","owner":"panz3r","description":"Convert Firefox bookmark backup files directly to HTML format","archived":false,"fork":false,"pushed_at":"2026-06-02T03:07:35.000Z","size":54,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-02T05:07:08.607Z","etag":null,"topics":["bookmarks","cli","firefox","golang"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/panz3r.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-06-11T01:17:06.000Z","updated_at":"2026-06-02T03:07:38.000Z","dependencies_parsed_at":"2026-01-19T12:04:08.228Z","dependency_job_id":null,"html_url":"https://github.com/panz3r/firefox-bookmarks","commit_stats":null,"previous_names":["panz3r/firefox-bookmarks"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/panz3r/firefox-bookmarks","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/panz3r%2Ffirefox-bookmarks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/panz3r%2Ffirefox-bookmarks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/panz3r%2Ffirefox-bookmarks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/panz3r%2Ffirefox-bookmarks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/panz3r","download_url":"https://codeload.github.com/panz3r/firefox-bookmarks/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/panz3r%2Ffirefox-bookmarks/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34507154,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-18T02:00:06.871Z","response_time":128,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bookmarks","cli","firefox","golang"],"created_at":"2025-10-09T21:46:28.126Z","updated_at":"2026-06-18T20:31:36.896Z","avatar_url":"https://github.com/panz3r.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Firefox Bookmarks Backup to HTML Converter\n\nA fast, dependency-free tool that converts Firefox bookmark backup files directly to HTML format.\n\n## 🚀 Features\n\n- **Direct conversion**: Convert Firefox `.jsonlz4` backup files directly to HTML without intermediate steps\n- **JSON support**: Also supports regular `.json` bookmark files\n- **Automatic file detection**: Automatically detects the input file format\n- **Preserves metadata**: Maintains bookmark timestamps and descriptions\n- **Standard format**: Outputs HTML in the standard Netscape bookmark format\n- **Zero dependencies**: Single binary, no runtime requirements\n- **Cross-platform**: Builds for Windows, macOS, and Linux\n\n## 📥 Installation\n\n### Pre-built Binaries (Recommended)\n\nDownload the latest pre-built binary for your platform from the [releases page](https://github.com/panz3r/firefox-bookmarks/releases).\n\n#### Linux/macOS\n```bash\n# Download and install (replace $VERSION with the latest version)\ncurl -L -o firefox-bookmarks \"https://github.com/panz3r/firefox-bookmarks/releases/download/v$VERSION/firefox-bookmarks-linux-amd64\"\n\n# Make executable\nchmod +x firefox-bookmarks\n\n# Move to PATH (optional)\nsudo mv firefox-bookmarks /usr/local/bin/\n```\n\n#### Windows\n1. Download `firefox-bookmarks-windows-amd64.exe` from the [releases page](https://github.com/panz3r/firefox-bookmarks/releases)\n2. Rename to `firefox-bookmarks.exe` (optional)\n3. Place in a directory in your PATH, or run directly\n\n#### Platform-specific downloads:\n- **Linux AMD64**: `firefox-bookmarks-linux-amd64`\n- **Linux ARM64**: `firefox-bookmarks-linux-arm64`\n- **macOS AMD64**: `firefox-bookmarks-darwin-amd64`\n- **macOS ARM64**: `firefox-bookmarks-darwin-arm64` (Apple Silicon)\n- **Windows AMD64**: `firefox-bookmarks-windows-amd64.exe`\n- **Windows ARM64**: `firefox-bookmarks-windows-arm64.exe`\n\n### Build from Source\n```bash\n# Clone and build\ngit clone git@github.com:panz3r/firefox-bookmarks.git\n\ncd firefox-bookmarks\n\n# Build for current platform\nmake build\n\n# Or build for all platforms\nmake build-all\n```\n\n### Available Make Commands\n\n```bash\n# See all available commands\nmake help\n\n# Development workflow\nmake dev          # Full development setup (deps + build + test)\nmake quick        # Quick build and test\n\n# Building\nmake build        # Build for current platform\nmake build-all    # Build for all platforms\n\n# Testing\nmake test         # Run all tests\nmake test-cover   # Run tests with coverage\nmake benchmark    # Performance comparison vs Python version\n\n# Examples\nmake example      # Run example demonstration\nmake run-example  # Quick test with sample file\n\n# Utilities\nmake clean        # Clean build artifacts\nmake format       # Format code\nmake info         # Show project information\n```\n\n## 🚀 Usage\n\n### Basic Usage\n\n```bash\n# Show help\n./firefox-bookmarks -help\n\n# Convert with auto-generated output filename\n./firefox-bookmarks backup.jsonlz4\n\n# Convert with custom output filename\n./firefox-bookmarks -o my_bookmarks.html backup.jsonlz4\n\n# Convert JSON bookmark file\n./firefox-bookmarks -o bookmarks.html bookmarks.json\n```\n\n**Note**: Flags must come before the input file.\n\n## 📁 Input File Formats\n\n### Firefox `.jsonlz4` backup files\n\n#### Location\n- **Linux/macOS**: `~/.mozilla/firefox/[profile]/bookmarkbackups/`\n- **Windows**: `%APPDATA%\\Mozilla\\Firefox\\Profiles\\[profile]\\bookmarkbackups\\`\n\n#### Format\n\n- **Filename:** `bookmarks-YYYY-MM-DD_HHMMSS_randomhash.jsonlz4`\n- These are compressed backup files created automatically by Firefox\n\n### JSON bookmark files\n- Regular JSON files containing Firefox bookmark data\n- Can be created by manually exporting bookmarks\n\n## 📄 Output Format\n\nGenerates HTML files in the standard Netscape bookmark format, compatible with:\n- Firefox, Chrome, Safari, Edge, Opera\n- Most bookmark management tools\n- Other bookmark converters\n\n## 🧠 How it works\n\n1. **File Detection**: The tool automatically detects whether the input is a compressed `.jsonlz4` file or a regular JSON file\n2. **Decompression** (if needed): For `.jsonlz4` files, it removes the Mozilla LZ4 header and decompresses the content\n3. **JSON Parsing**: Parses the bookmark data structure\n4. **HTML Generation**: Recursively converts the bookmark tree to HTML format, preserving:\n   - Folder hierarchy\n   - Bookmark URLs and titles\n   - Creation and modification timestamps\n   - Bookmark descriptions (if present)\n\n## 🧪 Example\n\nRun the included demonstration:\n\n```bash\nmake example\n```\n\nThis will:\n- Build the binary if needed\n- Show usage examples\n- Run a test conversion\n- Display performance metrics\n\n## 🚀 Performance\n\n- **Execution time**: ~5-10ms startup + processing\n- **Memory usage**: ~8-12MB peak\n- **Binary size**: ~2-3MB (no runtime dependencies)\n- **Cross-platform**: Native binaries for all major platforms\n\n## 🔧 Troubleshooting\n\n### Binary not found or won't run\n- Download the correct binary for your platform from `builds/`\n- Make sure the binary has execute permissions: `chmod +x firefox-bookmarks`\n- Build from source if needed: `make build`\n\n### \"not a valid Firefox bookmark backup file\"\nEnsure you're using a valid Firefox bookmark backup file from:\n- **Linux**: `~/.mozilla/firefox/[profile]/bookmarkbackups/`\n- **Windows**: `%APPDATA%\\Mozilla\\Firefox\\Profiles\\[profile]\\bookmarkbackups\\`\n- **macOS**: `~/Library/Application Support/Firefox/Profiles/[profile]/bookmarkbackups/`\n\n### File permission errors\nEnsure you have read permissions for the input file and write permissions for the output directory.\n\n## 🐍 Legacy Python Version\n\nThe original Python implementation is still available in the `python/` directory. See [Python README](python/README.md) for details. The Python version requires Python 3.6+ and the `lz4` library, but produces identical output to the Go version.\n\n## 📄 License\n\nMIT License - see [LICENSE](LICENSE) file for details.\n\n## 🙏 Acknowledgments\n\nThis project builds upon excellent work from:\n- **[json2html-bookmarks](https://github.com/andreax79/json2html-bookmarks)** by [Andrea Bonomi](https://github.com/andreax79)\n- **[jsonlz4_to_json](https://github.com/Robotvasya/jsonlz4_to_json)** by [Robotvasya](https://github.com/Robotvasya)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpanz3r%2Ffirefox-bookmarks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpanz3r%2Ffirefox-bookmarks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpanz3r%2Ffirefox-bookmarks/lists"}