10 ms·
Show HN: FPOimg – Placeholder image service with gradients and format support
Hey HN -
Years ago I built FPOimg (fpoimg.com) as a placeholder image generator that I kept wishing existed.
I've always wanted to keep it simple, open source, fast, and reliable. I've recently updated with additional features to make it more modern, useful, and pretty.
The basics work like you'd expect: /800x600 gives you an 800×600 image, /500x200/Hello adds a caption. Nothing revolutionary there.
I added:
- Gradient backgrounds — 20 presets (/800x600?gradient=sunset) or pass your own two colors
- 148 CSS named colors — /400x300/tomato/white instead of hunting for hex codes
- Multiple formats — change the extension to get .webp, .gif, .png, or .jpg (and experimental SVG support)
- Multiline text — line breaks in captions, auto-wrapping for longer text
It's Flask + Pillow, nothing fancy on the backend. Self-hostable if you prefer that.
Live at https://fpoimg.com https://fpoimg.com, source at https://github.com/kylehayes/fpoimg https://github.com/kylehayes/fpoimg
Happy to hear what's missing or what would make it more useful.
- davydm 7mo agoneato - how do I get it to render without the image dimensions displayed as text within the image?
- eatmyshardz 7mo agoWell you can't, I'll add support for that right now!
- eatmyshardz 7mo ago@davydm, alright it's implemented! Pass in dims=false in the query params and the dimension text will not show.