Photos and signatures

Resize a photo or signature for an upload form

Match a form’s JPG format, pixel dimensions, and file-size range in one pass. Check the saved copy for readable details before submitting it.

6 min read Updated Sep 5, 2026
Illustration of an image with dimension arrows beside a file whose data blocks show a separate file-size constraint.
Quick answer

Match the pixels and the file-size range

Read the form’s accepted format, required width and height, and minimum or maximum KB. Enter those requirements in Resize Image to KB, choose padding or cropping if exact dimensions are needed, then inspect the saved JPG. A file can meet these checks and still fail a portal’s other rules.

Best for
People preparing a photograph or scanned signature for a job, exam, admission, or other online application.
Start with
Resize Image to KB
Illustrated preparation sequence

One image has several requirements to meet

Dimensions describe the frame. Bytes describe the saved file. Neither tells you whether the content is complete and readable.

  1. Step 1

    Read the current form

    Copy its accepted format, dimensions, and lower or upper size limits.

  2. Step 2

    Make a JPG copy

    Choose the frame and file-size range together, then run the tool.

  3. Step 3

    Inspect the result

    Compare actual bytes and pixels with the rule, then look closely at the photo or signature.

A selected check fails

Resolve the named mismatch

Change the source or permitted settings before trying again.

About this visual: Illustrative schematic, not a measured conversion result or an example of an accepted application.
Do this first

Prepare the file in four steps

Keep the original and use the requirements shown by the exact form you are completing.

  1. 1

    Copy all the upload requirements

    Note the file type, whether dimensions are exact or minimums, and whether KB is a maximum or a range.

  2. 2

    Choose the image and size limits

    Choose a JPG, PNG, WebP, AVIF, or BMP. Enter the maximum KB and add a minimum only if the form requires one.

  3. 3

    Set the frame only when needed

    For an exact size, enter both width and height. Contain keeps the whole image with white padding; cover fills the frame by cropping the center.

  4. 4

    Check and download the JPG

    Read the actual byte size, dimensions, and result checks. Inspect the face or signature, download the copy, and select that copy in the application.

01

Answer: what pixels, KB, and format each mean

Read the complete requirement before changing the image. A width and height describe its pixel frame; KB describes how many bytes the saved file contains. Two images with the same dimensions can have different file sizes.

  • Resize Image to KB uses decimal units: 1 KB = 1,000 bytes. A 20 KB maximum means 20,000 bytes. KB is not the same as KiB, which is 1,024 bytes.
  • A maximum is a ceiling, not an instruction to reach that exact size. Add a lower limit only when the form specifies a range.
  • A requirement in centimeters is not an exact pixel requirement unless a pixel density is also specified. Do not invent a mandatory DPI value.
  • JPG and JPEG name the same format. Renaming another format to .jpg does not convert it. This tool creates an actual JPEG copy.
  • Use the current notice for your examination, year, agency, and upload field. Live camera capture is a separate task from preparing a stored image.
Published examples, checked 5 September 2026

Two portals ask for different files

These examples explain why one generic photo preset is not enough. Confirm the requirements in your own current form before using them.

India: one named examination notice
SSC Phase-XIV/2026 Selection Posts
The notice dated 13 April 2026 separates a scanned signature from live photograph capture.
  • The signature is JPEG, 10–20 KB, with an image dimension of about 6 cm wide by 2 cm high. The notice does not turn that centimeter measurement into a fixed pixel size.
  • The photograph is captured live in the application. Resizing a saved photo does not replace that step.
  • Read the SSC 2026 notice.
Bangladesh: one Teletalk application
Rural Electrification Board validation
The publicly accessible validation page specifies different frames and size ceilings for the photo and signature.
  • Color photo: exactly 300 × 300 pixels and no more than 100 KB.
  • Signature: exactly 300 × 80 pixels and no more than 60 KB. Other Teletalk applications can publish different instructions.
  • Read the Teletalk validation instructions.
Illustrated comparison of published requirements, not measured conversion results. The Teletalk page is undated; both sources were checked on 5 September 2026. Current application instructions take precedence.
02

Do: set the file-size range and choose the frame

Open Resize Image to KB and choose a supported image. Use the 20, 50, 100, or 200 KB shortcut only when it matches the form, or enter another maximum. Add an optional minimum when needed. The output is a still JPG with white behind transparent areas.

  • If exact dimensions are required, enter both width and height in pixels. Leave both unset when you only need a smaller file and the original proportions are suitable.
  • Contain keeps the whole image in proportion and adds white padding where needed. Check that the form allows those margins and that a signature still fills enough of the frame.
  • Cover fills the frame with a center crop. Inspect every edge; for an off-center face or signature, crop manually first rather than losing important content.
  • The tool searches for a JPEG within your size range. With exact dimensions set, it keeps that frame. Without exact dimensions, it may reduce pixels to meet the maximum.
  • Some combinations cannot be met. If even a high-quality JPEG is below the minimum, use a larger or more detailed original where permitted. The tool reports the shortfall instead of adding filler bytes.
  • This is file preparation, not a passport-photo approval service. For identity documents, follow the authority’s rules about cropping, retouching, backgrounds, and live capture.
03

Check: inspect the saved copy before submitting

Read the result’s actual bytes, width, height, and selected-rule checks. Then look closely at the output: passing a file-size check does not tell you whether a signature is legible or a photograph meets the application’s content rules.

  • Check thin signature strokes, the first and last letters, face detail, orientation, and any required margins. Strong JPEG compression can blur edges or create block patterns.
  • Download the result and open that saved JPG. Select the new copy in the form rather than the original from your photo library.
  • If a selected size or dimension check fails, change the permitted settings or source before retrying. Do not treat an impossible target as a completed repair.
  • If the file meets the selected checks but the upload still fails, read the exact error. A different rule, filename, account, browser session, network, or portal problem may be responsible.
  • When a portal interprets KB differently, follow its own stated byte limit or feedback. The checks here use the decimal units shown in the tool.
Quick questions

Photo and signature upload questions

How do I make a signature between 10 KB and 20 KB?

Enter 10 as the minimum KB and 20 as the maximum, then set any exact pixel dimensions separately. Inspect every signature stroke. A file that fits the byte range still has to meet the form’s other requirements.

How do I make a photo 300 × 300 pixels and under 100 KB?

Set width and height to 300 pixels and maximum KB to 100. Choose contain for white padding or cover for a center crop, then inspect the result. Only use these settings when they match your current form.

Does a 20 KB limit mean exactly 20,000 bytes?

In this tool, yes: it uses decimal KB, so 20 KB is 20,000 bytes. Some software reports sizes using 1,024-byte units or rounded labels. Check actual bytes and follow the receiving portal’s instructions when its interpretation differs.

Why is the file too small even at the right dimensions?

A simple image with large blank areas may encode to very few bytes. If it stays below your required minimum, use a better original or larger dimensions if allowed. The tool does not add meaningless bytes to make the number larger.

Should I choose contain or cover for a signature?

Contain keeps all the strokes and adds white margins where necessary. Cover trims the center to fill the frame and can cut off the ends. Check the form’s margin rules and use a manual crop when you need precise placement.

Can I use this tool to prepare a passport photo?

Only for changes the issuing authority permits. Some authorities prohibit editing or cropping, or require live or certified photo capture. Matching file size and dimensions cannot establish that a passport photograph is acceptable.

Why does my image still fail after all the checks pass?

The local checks cover the selected file properties, not every portal rule. The photo content, filename, application field, browser session, account, or service may be the cause. Read the exact error before compressing again.

Remember this

The short version

  • Match the required format, dimensions, and size range together.
  • Check the actual output bytes and pixels, then inspect the content.
  • Keep the original and submit the saved JPG copy.
  • A passed local check does not guarantee acceptance by an application portal.
Ready to work

Open the tool you need

Choose the tool for the change your file needs.

(function() { const title = document.querySelector('h1'); const actionRegion = document.querySelector('.action-container, .action-body'); if (!title || !actionRegion || title.querySelector('.tool-hero-mark')) return; const path = window.location.pathname.replace(/\/$/, ''); if (!path || path === '/' || path.startsWith('/converters') || path === '/about' || path === '/contact' || path === '/support' || path === '/privacy-policy') { return; } const lowerKey = path.replace(/^\/(video|audio)\//, '').replace(/^\//, '').toLowerCase(); if (!lowerKey) return; let category = 'image'; if (path.startsWith('/video/')) category = 'video'; if (path.startsWith('/audio/')) category = 'audio'; const isUtility = lowerKey.includes('ascii') || lowerKey === 'check-my-file' || lowerKey === 'prepare-for-ai' || lowerKey.includes('resizer') || lowerKey.includes('metadata') || lowerKey.includes('compress') || lowerKey.includes('base64') || lowerKey.includes('background') || lowerKey.includes('crop') || lowerKey.includes('watermark') || lowerKey.includes('remove-pages') || lowerKey.includes('unlock') || lowerKey.includes('protect') || lowerKey.includes('editor') || lowerKey.includes('excel') || lowerKey.includes('upscale') || lowerKey.includes('merge') || lowerKey.includes('split') || lowerKey.includes('ocr') || lowerKey.includes('sign') || lowerKey.includes('trim') || lowerKey.includes('favicon'); if (category === 'image' && isUtility) category = 'tool'; const labelMap = { jpg: 'JPG', jpeg: 'JPEG', png: 'PNG', gif: 'GIF', svg: 'SVG', pdf: 'PDF', heic: 'HEIC', jfif: 'JFIF', webp: 'WEBP', bmp: 'BMP', ico: 'ICO', word: 'DOCX', docx: 'DOCX', excel: 'Excel', xls: 'XLS', xlsx: 'Excel', mp4: 'MP4', mov: 'MOV', avi: 'AVI', mp3: 'MP3', aac: 'AAC', flac: 'FLAC', wav: 'WAV', webm: 'WEBM', cr2: 'CR2', arw: 'ARW', nef: 'NEF', raf: 'RAF' }; const formatLabel = (value) => labelMap[value] || value.toUpperCase(); function getFormatMeta(key) { if (key === 'check-my-file') { return {primary: 'Check', secondary: 'File', connector: 'dot'}; } if (key === 'prepare-for-ai') { return {primary: 'Prepare', secondary: 'AI', connector: 'dot'}; } const directMatch = key.match(/^([a-z0-9]+)-to-([a-z0-9]+)$/); const convertMatch = key.match(/^convert-([a-z0-9]+)-to-([a-z0-9]+)$/); const convertToMatch = key.match(/^convert-to-([a-z0-9]+)$/); if (directMatch) { return {primary: formatLabel(directMatch[1]), secondary: formatLabel(directMatch[2]), connector: 'arrow'}; } if (convertMatch) { return {primary: formatLabel(convertMatch[1]), secondary: formatLabel(convertMatch[2]), connector: 'arrow'}; } if (convertToMatch) { return {primary: 'Any', secondary: formatLabel(convertToMatch[1]), connector: 'arrow'}; } if (key.startsWith('compress-')) { return {primary: 'Compress', secondary: formatLabel(key.replace('compress-', '')), connector: 'dot'}; } if (key.includes('base64') && key.includes('decode')) { return {primary: 'Base64', secondary: 'Decode', connector: 'dot'}; } if (key.startsWith('base64-to-')) { return {primary: 'Base64', secondary: formatLabel(key.replace('base64-to-', '')), connector: 'arrow'}; } if (key.includes('-to-base64')) { const from = key.replace('convert-', '').replace('-to-base64', ''); return {primary: formatLabel(from), secondary: 'Base64', connector: 'arrow'}; } if (key.includes('base64')) { return {primary: 'Base64', secondary: 'Encode', connector: 'dot'}; } if (key.includes('ascii')) { return {primary: 'ASCII', secondary: 'Art', connector: 'dot'}; } if (key.includes('resizer')) { return {primary: 'Resize', secondary: 'Pixels', connector: 'dot'}; } if (key.includes('remove-pages')) { return {primary: 'Remove', secondary: 'Pages', connector: 'dot'}; } if (key.includes('crop') && key.includes('pdf')) { return {primary: 'Crop', secondary: 'PDF', connector: 'dot'}; } if (key.includes('pdf-editor')) { return {primary: 'Edit', secondary: 'PDF', connector: 'dot'}; } if (key.includes('unlock')) { return {primary: 'Unlock', secondary: 'PDF', connector: 'dot'}; } if (key.includes('protect')) { return {primary: 'Protect', secondary: 'PDF', connector: 'dot'}; } if (key.includes('pdf') && key.includes('metadata')) { return {primary: 'Clean', secondary: 'Metadata', connector: 'dot'}; } if (key.includes('metadata')) { return {primary: 'EXIF', secondary: 'Clean', connector: 'dot'}; } if (key.includes('background')) { return {primary: 'Remove', secondary: 'Background', connector: 'dot'}; } if (key.includes('crop')) { return {primary: 'Crop', secondary: 'Image', connector: 'dot'}; } if (key.includes('watermark')) { return {primary: 'Watermark', secondary: 'Image', connector: 'dot'}; } if (key.includes('upscale')) { return {primary: 'Upscale', secondary: 'Image', connector: 'dot'}; } if (key.includes('merge')) { return {primary: 'Merge', secondary: 'PDF', connector: 'dot'}; } if (key.includes('split')) { return {primary: 'Split', secondary: 'PDF', connector: 'dot'}; } if (key.includes('ocr')) { return {primary: 'OCR', secondary: 'PDF', connector: 'dot'}; } if (key.includes('sign')) { return {primary: 'Sign', secondary: 'PDF', connector: 'dot'}; } if (key.includes('trim')) { return {primary: 'Trim', secondary: 'Video', connector: 'dot'}; } return {primary: 'Tool', secondary: '', connector: 'dot'}; } function getIconClass(key, categoryName) { const toFormat = key.split('-to-')[1]; if (key === 'check-my-file') return 'bi-file-earmark-check'; if (key === 'prepare-for-ai') return 'bi-ui-checks-grid'; if (key.includes('ascii')) return 'bi-textarea-t'; if (key.includes('resizer')) return 'bi-aspect-ratio'; if (key.includes('metadata')) return 'bi-shield-slash'; if (key.includes('compress')) return 'bi-file-earmark-zip'; if (key.includes('base64')) return 'bi-journal-code'; if (key.includes('background')) return 'bi-scissors'; if (key.includes('crop')) return 'bi-crop'; if (key.includes('watermark')) return 'bi-type'; if (key.includes('remove-pages')) return 'bi-trash'; if (key.includes('unlock')) return 'bi-unlock'; if (key.includes('protect')) return 'bi-lock'; if (key.includes('editor')) return 'bi-pencil-square'; if (key.includes('excel')) return 'bi-file-earmark-spreadsheet'; if (key.includes('upscale')) return 'bi-arrows-angle-expand'; if (key.includes('merge')) return 'bi-files'; if (key.includes('split')) return 'bi-scissors'; if (key.includes('ocr')) return 'bi-file-earmark-text'; if (key.includes('sign')) return 'bi-pen'; if (key.includes('trim')) return 'bi-scissors'; if (toFormat) { switch (toFormat) { case 'jpg': case 'jpeg': return 'bi-filetype-jpg'; case 'png': return 'bi-filetype-png'; case 'gif': return 'bi-filetype-gif'; case 'svg': return 'bi-filetype-svg'; case 'pdf': return 'bi-filetype-pdf'; case 'word': case 'docx': return 'bi-file-earmark-word'; case 'xls': case 'xlsx': case 'excel': return 'bi-file-earmark-spreadsheet'; case 'heic': return 'bi-filetype-heic'; case 'webp': return 'bi-filetype-webp'; case 'bmp': return 'bi-filetype-bmp'; case 'ico': return 'bi-file-image'; case 'mp4': return 'bi-filetype-mp4'; case 'mov': return 'bi-filetype-mov'; case 'mp3': return 'bi-filetype-mp3'; case 'wav': return 'bi-filetype-wav'; case 'avi': return 'bi-filetype-avi'; default: return 'bi-file-earmark-image'; } } if (categoryName === 'video') return 'bi-film'; if (categoryName === 'audio') return 'bi-music-note-beamed'; if (categoryName === 'image') return 'bi-file-earmark-image'; return 'bi-gear'; } const formatMeta = getFormatMeta(lowerKey); const connectorIcon = formatMeta.connector === 'arrow' ? 'bi-arrow-right-short' : 'bi-dot'; const iconClass = getIconClass(lowerKey, category); const mark = document.createElement('span'); mark.className = `tool-hero-mark converter-mark converter-mark--${category}`; const iconWrap = document.createElement('span'); iconWrap.className = 'converter-mark__icon'; const icon = document.createElement('i'); icon.className = iconClass; iconWrap.appendChild(icon); mark.appendChild(iconWrap); const formatWrap = document.createElement('span'); formatWrap.className = 'converter-format'; const primary = document.createElement('span'); primary.className = 'format-pill'; primary.textContent = formatMeta.primary; formatWrap.appendChild(primary); if (formatMeta.secondary) { const connector = document.createElement('span'); connector.className = 'format-connector'; const connectorIconEl = document.createElement('i'); connectorIconEl.className = connectorIcon; connector.appendChild(connectorIconEl); formatWrap.appendChild(connector); const secondary = document.createElement('span'); secondary.className = 'format-pill format-pill--secondary'; secondary.textContent = formatMeta.secondary; formatWrap.appendChild(secondary); } mark.appendChild(formatWrap); title.classList.add('tool-hero-title'); title.prepend(mark); })();