Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Tinypng Bundle

Tinypng Bundle Laravel Package

loevgaard/tinypng-bundle

Symfony bundle that integrates the TinyPNG/TinyJPG API to compress PNG and JPEG images, cutting file sizes while preserving visual quality. Configure your API key and optimize images through a simple service, with support for local files and remote URLs.

View on GitHub
Deep Wiki
Context7

Symfony bundle for the TinyPNG/TinyJPG API library

Frequently asked questions about Tinypng Bundle
Can I use loevgaard/tinypng-bundle in a Laravel application?
No. loevgaard/tinypng-bundle is a Symfony bundle, and Laravel has no equivalent for bundle registration, Configuration and Extension classes, or bundles.php. The compression capability comes from the framework-agnostic tinify/tinify-php SDK, so Laravel teams should use that SDK directly behind their own service provider and ImageOptimizer interface.
How do I install and register loevgaard/tinypng-bundle in Symfony?
Install it with composer require loevgaard/tinypng-bundle, then register it in bundles.php on Symfony 5.4 or newer, or in the bundles configuration for older setups. Configure your API key and confirm the service ID the bundle exposes before injecting it. Before adopting, verify its declared Symfony and PHP constraints against your application version.
How do I configure the TinyPNG API key with loevgaard/tinypng-bundle?
The bundle expects your TinyPNG API key through its bundle configuration, typically referencing a TINYPNG_API_KEY environment variable in a config/packages YAML file. Check how the bundle resolves env-var precedence and confirm the key does not leak into container dumps or the debug toolbar. Keep the secret in your secret manager rather than committing it to configuration files.
Which Symfony and PHP versions does loevgaard/tinypng-bundle support?
You must check the package's composer.json constraints, because the bundle has no adoption signal and may pin older framework minors. Confirm PHP 8.2 and 8.3 support plus Symfony 5.4, 6.x, or 7.x compatibility before committing. An unmaintained bundle can block a framework upgrade cycle if it pins a conflicting dependency.
What is the difference between loevgaard/tinypng-bundle and tinify/tinify-php?
All image compression behavior lives in the upstream tinify/tinify-php SDK; the bundle only wires that client into Symfony's dependency injection container. For Laravel, installing the SDK directly avoids the unusable Symfony bundle layer. You can then register a singleton in an application service provider and wrap it in your own interface.
What is the best TinyPNG package for Laravel?
There is no Laravel-specific TinyPNG package recommended here. Use tinify/tinify-php pinned to a minor version, store TINYPNG_API_KEY in your secret manager, register a singleton in a service provider, and wrap it in an ImageOptimizer interface so the vendor is swappable. If you want to avoid a hosted API entirely, spatie/image-optimizer or a self-hosted encoder are alternatives.
Does loevgaard/tinypng-bundle support resizing, format conversion, or metadata handling?
Do not assume so. The TPM-relevant question is whether the wrapper exposes the full Tinify surface, including fromFile, fromBuffer, resize, preserve, convert, and store, or only a narrow compress call. A narrow wrapper blocks future roadmap items such as resize-on-upload or format negotiation, and TinyPNG does not provide broad metadata handling regardless of wrapper.
Is loevgaard/tinypng-bundle safe for production use?
The risk is supply chain and longevity rather than code correctness. The package has zero stars, zero dependents, and no issue history, so there is no third-party evidence of production use to de-risk adoption. An unmaintained wrapper has no security patch path and may pin you to an older Symfony minor, so critical-path compression should sit behind your own abstraction over the upstream SDK.
How should I handle TinyPNG API quotas and rate limits in a Laravel app?
Thin wrappers do not typically model TinyPNG's monthly compression metering or 429 responses, so you must handle them yourself. Queue compression jobs, catch rate-limit responses, apply backoff, and monitor monthly usage against your plan tier. Decide who owns the TinyPNG contract and plan tier before launch.
How do I test TinyPNG image compression without burning API calls?
Prefer fromBuffer over fromFile in request paths to decouple compression from the filesystem and make tests easier. Bind a fake ImageOptimizer implementation in Laravel's service container so tests never hit the real TinyPNG API. If you are evaluating the Symfony bundle, mock the Tinify client service and verify the service ID rather than calling the live API.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib