I am looking for a web app in which I can upload my images and convert them to web-friendly versions such as GIF/PNG? Something similar to when you upload photos to Facebook and they are automatically converted into GIFs.
For photos please stick to JPEG, it's the best format for those out there. Graphics should be in PNG format. There are many converters available, here are some of the best:
If you have graphics in PNG format you can smush them afterwards which saves a few extra kilobytes.
Neo is right. Photos are far too complex to be stored in GIF or PNG with any smaller filesize than the JPG version of a photo.
PNG's main strength is saving a perfect pixel-for-pixel copy of an image and compressing it as small as possible, given the constraint of preserving each pixel's hue, saturation, lightness, and opacity exactly as they were in the original image. Their ability to save 256 different shades of transparency makes them ideal for saving non-rectangular images and superior to GIF (which can only save one shade of transparency). Photos do not contain enough repeated colors or patterns to be losslessly compressed to a small size. Since a PNG version of a photo is all about preserving each and every pixel with its original value and there are virtually no repeated colors in a photo, a PNG version of a photo will rarely be much smaller than a fully uncompressed format such as BMP. By contrast, a graphic such as the famous presidential campaign poster of President Obama, which contains only four colours, is highly compressible and a perfect candidate to be saved in PNG with a very small filesize.
As Neo also mentions, GIFs are not a good candidate for storing photographic images because the total number of different colors able to be stored in a single image is very low in comparison to other image formats. A GIF can only store 256 total unique colors for each frame whereas almost any photo will contain a list of colors with many more than 256 unique colors referenced. When a photo is converted to GIF, the 256 most common colors will be preserved and all colors outside that range will be changed to the closest one of these 256, however this will lead to posterization.
I mentioned the famous poster of President Obama from his election campaign before which is an artistic and intentional use of extreme posterization where the entire image has been reduced to only four colours, however when converting a random photo to GIF the result will not generally be pleasant.
JPGs use a completely different manner of compression known as lossy compression. This means that they are not at all concerned with preserving each pixel with the precise value as the original, but rather the same overall impression. JPGs are inherently lossy - literally unable to be saved at any more than 99 percent quality of the original image, however most programs which save JPGs as output (such as image editors) opt to save with a much more aggressive compression ratio such as 80 percent original quality or less. If there is a JPG image which you have repeatedly opened and saved in an image editor, this can rapidly degrade the quality of the image as each time the image is saved another 20 percent of the previous version is permanently lost (assuming that the program is set to save JPGs at 80% quality).
JPGs can be saved at any quality level you choose (south of 99 percent), however as you get into lower quality levels, the JPEG artifacts will grow increasingly unacceptable to human eyes.
A central high-range (75% - 85% compression quality) JPG copy of a photo will appear acceptable and will be much smaller in filesize than the PNG version of the same photo (although the PNG will be perfect quality).