WallpaperExtractor
A macOS Wallpaper Engine project downloader and .pkg extractor
Install / Use
/learn @trinityhades/WallpaperExtractorREADME
Back to top <a name="top"></a>
<div align="center"> <img src="WallpaperExtractor/new_icon.icon/Assets/WallpaperExtractorIcon.svg" alt="Wallpaper Extractor Logo" width="200"/>Wallpaper Extractor
⭐ Star us on GitHub — your support motivates me a lot! 🙏
A powerful macOS application for downloading and extracting Wallpaper Engine projects directly from the Steam Workshop.
</div>📑 Table of Contents
- About
- Features
- Installation
- Usage
- Supported Formats
- Technical Details
- Support
- Credits
- Requirements
- License
- Disclaimer
🚀 About
Wallpaper Extractor is a native macOS application designed to seamlessly download and extract Wallpaper Engine content from Steam Workshop. Built with Swift and SwiftUI, it provides an intuitive interface for browsing package contents, converting textures, and extracting media files with professional-grade quality.
✨ Features
- 🔍 Browse Package Contents: View the file tree of Wallpaper Engine
.pkgfiles with hierarchical indentation - 🎨 Texture Conversion: Automatically converts
.textexture files to PNG format- Supports RGBA8888, DXT1, DXT3, DXT5, RG88, and R8 formats
- Handles PNG-embedded textures from TEXB containers
- 🎬 Video Extraction: Detects and extracts MP4 videos embedded in
.texfiles - 📦 Steam Workshop Integration: Download wallpapers directly from Steam Workshop
- Automatic Steam Guard authentication support
- Real-time download progress tracking
- 💾 Export…: Choose destination; selectively export Images, Videos, Other files; optional Flatten; and a "Trinity's Preferred" preset that puts Materials PNGs into
Main Imagesand consolidateseffects,masks,models, andxrayinto unified top-level folders. Automatically opens the export folder in Finder. - 🖱️ Drag Raw Files Out: Drag any file from the package tree directly to Finder — exports the original bytes without conversion.
- 🖼️ Live Preview: Preview images directly in the app
📦 Installation
- Download the latest release
- Move to Applications folder
- Install SteamCMD for Workshop downloads (see below)
Building from Source
- Clone the repository:
git clone https://github.com/trinityhades/WallpaperExtractor.git
cd WallpaperExtractor
- Open the project in Xcode:
open WallpaperExtractor.xcodeproj
- Build and run:
- Select your target device (Mac)
- Press
⌘ + Rto build and run - Or use
⌘ + Bto build only
Requirements:
- Xcode 15.0 or later
- macOS 15.1 SDK or later
- Swift 5.9+
Installing SteamCMD
- Create a directory for SteamCMD:
mkdir ~/Steam && cd ~/Steam
- Download and extract SteamCMD for macOS:
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_osx.tar.gz" | tar zxvf -
- Verify installation:
ls ~/Steam/steamcmd.sh
📚 Usage
Steam Workshop Downloads
- Click the Workshop button in the toolbar
- Log in with your Steam credentials (supports Steam Guard Mobile Authenticator)
- Paste a Steam Workshop URL (e.g.,
https://steamcommunity.com/sharedfiles/filedetails/?id=2360329512) - Click Download & Extract
- Select which
.pkgfile to extract if multiple are found
Local PKG Files
- Click Open PKG... to browse for a local
.pkgfile - Browse the file tree to explore contents
- Click Export… to choose a destination and select what to export (Images, Videos, Other files) and whether to flatten folders
🎯 Supported Formats
Input
.pkg- Wallpaper Engine package files.tex- Wallpaper Engine texture files (various formats)
Output
.png- Converted texture images.mp4- Extracted video files.json,.vert,.frag- Shader and configuration files (copied as-is)
🔧 Technical Details
Texture Formats
- RGBA8888 (Format 0): 32-bit color with alpha
- DXT1 (Format 7): BC1 compression
- DXT3 (Format 6): BC2 compression with explicit alpha
- DXT5 (Format 4): BC3 compression with interpolated alpha
- RG88 (Format 8): 2-channel textures
- R8 (Format 9): Single-channel grayscale
Container Versions
- TEXB0001-0002: Basic containers
- TEXB0003: With FreeImageFormat support
- TEXB0004: Enhanced format with MP4 support
💖 Support
If you find this tool useful, consider supporting development:
<a href="https://buymeacoffee.com/trinityhades" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;" ></a>
🙏 Credits
This project was inspired by RePKG by notscuffed, which provided invaluable insights into the Wallpaper Engine package format.
💻 Requirements
- macOS 15.1 or later
- SteamCMD (for Workshop downloads)
- Xcode 15.0+ (for building from source)
- Swift 5.9+
📃 License
Copyright 2025 Trinity Hades
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
See the LICENSE file for details.
⚠️ Disclaimer
This tool is not affiliated with or endorsed by Wallpaper Engine or Valve Corporation. Please respect content creators' rights and only extract content you have permission to use.
