{"id":6089,"date":"2026-10-28T20:27:48","date_gmt":"2026-10-28T20:27:48","guid":{"rendered":"https:\/\/www.compressorjpg.com\/es\/?p=6089"},"modified":"2026-10-28T20:28:02","modified_gmt":"2026-10-28T20:28:02","slug":"cambiar-tamano-de-jpg","status":"publish","type":"post","link":"https:\/\/www.compressorjpg.com\/es\/cambiar-tamano-de-jpg\/","title":{"rendered":"Cambiar Tama\u00f1o de JPG Online"},"content":{"rendered":"<div id=\"compr-297106870\" class=\"compr-before-content compr-entity-placement\" role=\"region\" aria-label=\"Advertisements\"><center><script>\r\n  atOptions = {\r\n    'key' : 'b2d3d799b85a0dbb336c2807797be63e',\r\n    'format' : 'iframe',\r\n    'height' : 90,\r\n    'width' : 728,\r\n    'params' : {}\r\n  };\r\n<\/script>\r\n<script src=\"https:\/\/overhearappointdare.com\/b2d3d799b85a0dbb336c2807797be63e\/invoke.js\"><\/script><\/center><\/div>\n<div id=\"safe-image-resizer\">\n  <style>\n    #safe-image-resizer {\n      --sir-primary:#4f46e5;\n      --sir-dark:#4338ca;\n      width:100%;max-width:960px;margin:24px auto;\n      border:1px solid #cbd5e1;border-radius:16px;\n      background:#fff;color:#1e293b;\n      font:14px\/1.5 Arial,Helvetica,sans-serif;\n      overflow:hidden;box-sizing:border-box;isolation:isolate;\n    }\n    #safe-image-resizer * {box-sizing:border-box}\n    #safe-image-resizer h2,#safe-image-resizer h3,\n    #safe-image-resizer h4,#safe-image-resizer p {margin-top:0}\n    #safe-image-resizer button,#safe-image-resizer input {font:inherit}\n    #safe-image-resizer button {cursor:pointer}\n    #safe-image-resizer .sir-header {\n      display:flex;align-items:center;justify-content:space-between;\n      gap:14px;padding:22px 24px;\n      background:linear-gradient(110deg,#4f46e5,#7c3aed);color:#fff;\n    }\n    #safe-image-resizer .sir-brand {display:flex;align-items:center;gap:13px;min-width:0}\n    #safe-image-resizer .sir-logo {\n      display:flex;flex:0 0 44px;width:44px;height:44px;\n      align-items:center;justify-content:center;border-radius:12px;\n      background:rgba(255,255,255,.16);font-size:22px;\n    }\n    #safe-image-resizer .sir-header h2 {\n      margin:0 0 4px;color:#fff;font-size:23px;line-height:1.25;font-weight:700;\n    }\n    #safe-image-resizer .sir-header p {margin:0;color:#e0e7ff;font-size:12px}\n    #safe-image-resizer .sir-version {\n      flex-shrink:0;padding:5px 10px;border-radius:20px;\n      background:rgba(255,255,255,.16);color:#fff;font-size:11px;\n    }\n    #safe-image-resizer .sir-body {padding:25px}\n    #safe-image-resizer .sir-hidden {display:none!important}\n    #safe-image-resizer .sir-notice {\n      margin-bottom:20px;padding:12px 14px;border:1px solid #a7f3d0;\n      border-radius:9px;background:#ecfdf5;color:#065f46;overflow-wrap:anywhere;\n    }\n    #safe-image-resizer .sir-notice.sir-error {\n      border-color:#fecaca;background:#fef2f2;color:#b91c1c;\n    }\n    #safe-image-resizer .sir-dropzone {\n      padding:38px 18px;border:2px dashed #cbd5e1;border-radius:14px;\n      background:#f8fafc;text-align:center;transition:background .2s,border-color .2s;\n    }\n    #safe-image-resizer .sir-dropzone.sir-dragging {\n      border-color:var(--sir-primary);background:#eef2ff;\n    }\n    #safe-image-resizer .sir-upload-icon {\n      display:flex;width:58px;height:58px;margin:0 auto 15px;\n      align-items:center;justify-content:center;border-radius:14px;\n      background:#e0e7ff;color:var(--sir-primary);font-size:27px;\n    }\n    #safe-image-resizer .sir-dropzone h3 {\n      margin-bottom:7px;color:#334155;font-size:17px;font-weight:700;\n    }\n    #safe-image-resizer .sir-dropzone p {margin-bottom:17px;color:#64748b;font-size:12px}\n    #safe-image-resizer .sir-file-input {\n      position:absolute!important;width:1px!important;height:1px!important;\n      padding:0!important;margin:-1px!important;overflow:hidden!important;\n      clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;\n    }\n    #safe-image-resizer .sir-btn {\n      display:inline-flex;align-items:center;justify-content:center;gap:8px;\n      min-height:40px;padding:10px 15px;border:1px solid transparent;\n      border-radius:9px;background:var(--sir-primary);color:#fff;\n      font-size:13px;line-height:1.3;font-weight:700;text-align:center;\n      text-decoration:none;transition:background .15s;\n    }\n    #safe-image-resizer .sir-btn:hover {background:var(--sir-dark);color:#fff}\n    #safe-image-resizer .sir-btn:disabled {opacity:.6;cursor:wait}\n    #safe-image-resizer .sir-btn-light {\n      border-color:#cbd5e1;background:#fff;color:#475569;\n    }\n    #safe-image-resizer .sir-btn-light:hover {background:#f1f5f9;color:#1e293b}\n    #safe-image-resizer .sir-filebar {\n      display:flex;align-items:center;justify-content:space-between;gap:12px;\n      margin-bottom:22px;padding:13px;border:1px solid #e2e8f0;\n      border-radius:11px;background:#f8fafc;\n    }\n    #safe-image-resizer .sir-file-details {display:flex;align-items:center;gap:11px;min-width:0}\n    #safe-image-resizer .sir-ext {\n      display:flex;width:40px;height:40px;flex-shrink:0;\n      align-items:center;justify-content:center;border:1px solid #c7d2fe;\n      border-radius:9px;background:#eef2ff;color:#4338ca;font-size:11px;font-weight:700;\n    }\n    #safe-image-resizer .sir-filename {\n      margin:0 0 3px;color:#1e293b;font-size:13px;font-weight:700;overflow-wrap:anywhere;\n    }\n    #safe-image-resizer .sir-filemeta {margin:0;color:#64748b;font-size:11px}\n    #safe-image-resizer .sir-workspace {\n      display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);\n      gap:22px;align-items:start;\n    }\n    #safe-image-resizer .sir-controls,#safe-image-resizer .sir-preview-column {min-width:0}\n    #safe-image-resizer .sir-panel {\n      margin-bottom:16px;padding:17px;border:1px solid #e2e8f0;\n      border-radius:12px;background:#f8fafc;\n    }\n    #safe-image-resizer .sir-panel:last-child {margin-bottom:0}\n    #safe-image-resizer .sir-panel-heading {\n      display:flex;align-items:center;justify-content:space-between;gap:8px;\n      margin-bottom:15px;color:#334155;font-size:14px;font-weight:700;\n    }\n    #safe-image-resizer .sir-heading-icon {margin-right:7px;color:var(--sir-primary)}\n    #safe-image-resizer .sir-fields {\n      display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;\n    }\n    #safe-image-resizer .sir-field label {\n      display:block;margin-bottom:6px;color:#64748b;font-size:12px;font-weight:600;\n    }\n    #safe-image-resizer .sir-field input[type=\"number\"] {\n      display:block;width:100%;min-width:0;height:41px;padding:8px 10px;\n      border:1px solid #cbd5e1;border-radius:8px;background:#fff;\n      color:#1e293b;font-size:14px;\n    }\n    #safe-image-resizer .sir-field input:focus {\n      outline:2px solid #c7d2fe;border-color:var(--sir-primary);\n    }\n    #safe-image-resizer .sir-lock {\n      min-height:32px;padding:6px 9px;border:1px solid #c7d2fe;\n      border-radius:7px;background:#e0e7ff;color:#4338ca;font-size:11px;font-weight:700;\n    }\n    #safe-image-resizer .sir-lock.sir-unlocked {\n      border-color:#cbd5e1;background:#e2e8f0;color:#475569;\n    }\n    #safe-image-resizer .sir-presets {margin-top:16px;padding-top:13px;border-top:1px solid #e2e8f0}\n    #safe-image-resizer .sir-muted-label {\n      display:block;margin-bottom:9px;color:#64748b;font-size:11px;font-weight:600;\n    }\n    #safe-image-resizer .sir-preset-list {display:flex;flex-wrap:wrap;gap:7px}\n    #safe-image-resizer .sir-preset {\n      padding:6px 10px;border:1px solid #cbd5e1;border-radius:7px;\n      background:#fff;color:#475569;font-size:11px;font-weight:600;\n    }\n    #safe-image-resizer .sir-preset:hover {\n      border-color:#a5b4fc;background:#eef2ff;color:#4338ca;\n    }\n    #safe-image-resizer .sir-quality-head {\n      display:flex;align-items:center;justify-content:space-between;gap:8px;\n      margin-bottom:10px;color:#334155;font-size:13px;font-weight:700;\n    }\n    #safe-image-resizer .sir-quality-value {\n      padding:4px 8px;border:1px solid #c7d2fe;border-radius:6px;\n      background:#eef2ff;color:#4338ca;\n    }\n    #safe-image-resizer .sir-quality-range {\n      display:block;width:100%;max-width:100%;margin:12px 0;accent-color:var(--sir-primary);\n    }\n    #safe-image-resizer .sir-range-labels {\n      display:flex;justify-content:space-between;gap:10px;color:#64748b;font-size:10px;\n    }\n    #safe-image-resizer .sir-formats {\n      display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;\n    }\n    #safe-image-resizer .sir-format {\n      display:flex;align-items:center;justify-content:center;min-height:39px;\n      padding:7px 4px;border:1px solid #cbd5e1;border-radius:8px;\n      background:#fff;color:#475569;cursor:pointer;font-size:11px;font-weight:700;text-align:center;\n    }\n    #safe-image-resizer .sir-format.sir-selected {\n      border:2px solid var(--sir-primary);background:#eef2ff;color:#4338ca;\n    }\n    #safe-image-resizer .sir-format input {\n      position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;\n    }\n    #safe-image-resizer .sir-format:focus-within {outline:2px solid #c7d2fe}\n    #safe-image-resizer .sir-preview-box {\n      position:relative;display:flex;min-height:260px;align-items:center;justify-content:center;\n      padding:24px 12px 12px;border-radius:12px;background-color:#0f172a;\n      background-image:linear-gradient(45deg,#1e293b 25%,transparent 25%),\n        linear-gradient(-45deg,#1e293b 25%,transparent 25%),\n        linear-gradient(45deg,transparent 75%,#1e293b 75%),\n        linear-gradient(-45deg,transparent 75%,#1e293b 75%);\n      background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0;overflow:hidden;\n    }\n    #safe-image-resizer .sir-preview-label {\n      position:absolute;top:9px;left:10px;z-index:1;padding:4px 8px;\n      border-radius:5px;background:rgba(0,0,0,.65);color:#fff;font-size:10px;\n    }\n    #safe-image-resizer .sir-preview-img {\n      display:block;width:auto;height:auto;max-width:100%;max-height:310px;\n      object-fit:contain;border-radius:5px;\n    }\n    #safe-image-resizer .sir-preview-placeholder {\n      padding:20px;color:#cbd5e1;font-size:12px;text-align:center;\n    }\n    #safe-image-resizer .sir-stats {\n      display:flex;align-items:center;justify-content:space-between;gap:8px;\n      margin-top:14px;padding:14px;border:1px solid #c7d2fe;border-radius:10px;background:#eef2ff;\n    }\n    #safe-image-resizer .sir-stats-label {\n      display:block;color:#6366f1;font-size:10px;font-weight:700;text-transform:uppercase;\n    }\n    #safe-image-resizer .sir-stats-main {margin-top:3px;color:#1e293b;font-size:17px;font-weight:700}\n    #safe-image-resizer .sir-stats-dim {\n      display:block;margin-top:3px;color:#64748b;font-size:10px;overflow-wrap:anywhere;\n    }\n    #safe-image-resizer .sir-savings {\n      flex-shrink:0;padding:5px 7px;border-radius:6px;background:#d1fae5;color:#047857;font-size:10px;font-weight:700;\n    }\n    #safe-image-resizer .sir-download {\n      width:100%;margin-top:14px;min-height:46px;background:linear-gradient(110deg,#4f46e5,#7c3aed);\n    }\n    #safe-image-resizer .sir-download:hover {background:linear-gradient(110deg,#4338ca,#6d28d9)}\n    #safe-image-resizer .sir-footer {\n      padding:13px 18px;border-top:1px solid #e2e8f0;background:#f8fafc;color:#64748b;font-size:11px;text-align:center;\n    }\n    @media(max-width:650px) {\n      #safe-image-resizer .sir-header {padding:18px 15px}\n      #safe-image-resizer .sir-header h2 {font-size:19px}\n      #safe-image-resizer .sir-version {display:none}\n      #safe-image-resizer .sir-body {padding:15px}\n      #safe-image-resizer .sir-workspace {grid-template-columns:minmax(0,1fr)}\n      #safe-image-resizer .sir-preview-column {grid-row:1}\n      #safe-image-resizer .sir-preview-box {min-height:220px}\n      #safe-image-resizer .sir-preview-img {max-height:280px}\n    }\n    @media(max-width:360px) {\n      #safe-image-resizer .sir-fields {gap:8px}\n      #safe-image-resizer .sir-panel {padding:12px}\n      #safe-image-resizer .sir-filebar {align-items:flex-start;flex-direction:column}\n    }\n  <\/style>\n\n  <div class=\"sir-header\">\n    <div class=\"sir-brand\">\n      <div class=\"sir-logo\" aria-hidden=\"true\">\u2194<\/div>\n      <div>\n        <h2>Cambiar tama\u00f1o de imagen JPG<\/h2>\n        <p>Cambia el tama\u00f1o, comprime y optimiza tus im\u00e1genes<\/p>\n      <\/div>\n    <\/div>\n    \n  <\/div>\n\n  <div class=\"sir-body\">\n    <div class=\"sir-notice sir-hidden\" data-sir=\"notice\" role=\"status\" aria-live=\"polite\"><\/div>\n\n    <div data-sir=\"upload\">\n      <div class=\"sir-dropzone\" data-sir=\"dropzone\" tabindex=\"0\" role=\"button\" aria-label=\"Seleccionar o arrastrar una imagen\">\n        <div class=\"sir-upload-icon\" aria-hidden=\"true\">\u2191<\/div>\n        <h3>Arrastra y suelta tu imagen aqu\u00ed<\/h3>\n        <p>Compatible con JPG, PNG y WebP, hasta 20 MB<\/p>\n        <button type=\"button\" class=\"sir-btn\" data-sir=\"browse\">Seleccionar imagen<\/button>\n        <input class=\"sir-file-input\" data-sir=\"file\" type=\"file\" accept=\".jpg,.jpeg,.png,.webp,image\/jpeg,image\/png,image\/webp\" aria-label=\"Seleccionar archivo de imagen\">\n      <\/div>\n    <\/div>\n\n    <div class=\"sir-hidden\" data-sir=\"editor\">\n      <div class=\"sir-filebar\">\n        <div class=\"sir-file-details\">\n          <div class=\"sir-ext\" data-sir=\"extension\">JPG<\/div>\n          <div style=\"min-width:0\">\n            <h4 class=\"sir-filename\" data-sir=\"filename\">imagen.jpg<\/h4>\n            <p class=\"sir-filemeta\">\n              Original: <span data-sir=\"original-dim\">0 \u00d7 0 px<\/span>\n              \u00b7 <span data-sir=\"original-size\">0 KB<\/span>\n            <\/p>\n          <\/div>\n        <\/div>\n        <button type=\"button\" class=\"sir-btn sir-btn-light\" data-sir=\"change\">Cambiar imagen<\/button>\n      <\/div>\n\n      <div class=\"sir-workspace\">\n        <div class=\"sir-controls\">\n          <div class=\"sir-panel\">\n            <div class=\"sir-panel-heading\">\n              <span><span class=\"sir-heading-icon\">\u2194<\/span>Dimensiones (p\u00edxeles)<\/span>\n              <button type=\"button\" class=\"sir-lock\" data-sir=\"lock\" aria-pressed=\"true\">\ud83d\udd12 Bloquear proporci\u00f3n<\/button>\n            <\/div>\n\n            <div class=\"sir-fields\">\n              <div class=\"sir-field\">\n                <label for=\"sir-width\">Ancho (px)<\/label>\n                <input id=\"sir-width\" data-sir=\"width\" type=\"number\" min=\"1\" max=\"10000\" step=\"1\" value=\"800\" inputmode=\"numeric\">\n              <\/div>\n              <div class=\"sir-field\">\n                <label for=\"sir-height\">Alto (px)<\/label>\n                <input id=\"sir-height\" data-sir=\"height\" type=\"number\" min=\"1\" max=\"10000\" step=\"1\" value=\"600\" inputmode=\"numeric\">\n              <\/div>\n            <\/div>\n\n            <div class=\"sir-presets\">\n              <span class=\"sir-muted-label\">Tama\u00f1os predefinidos<\/span>\n              <div class=\"sir-preset-list\">\n                <button type=\"button\" class=\"sir-preset\" data-sir=\"preset\" data-scale=\"0.25\">25 %<\/button>\n                <button type=\"button\" class=\"sir-preset\" data-sir=\"preset\" data-scale=\"0.5\">50 %<\/button>\n                <button type=\"button\" class=\"sir-preset\" data-sir=\"preset\" data-scale=\"0.75\">75 %<\/button>\n                <button type=\"button\" class=\"sir-preset\" data-sir=\"preset\" data-scale=\"1\">Original<\/button>\n              <\/div>\n            <\/div>\n          <\/div>\n\n          <div class=\"sir-panel\">\n            <div class=\"sir-quality-head\">\n              <label for=\"sir-quality\">Calidad de imagen<\/label>\n              <span class=\"sir-quality-value\" data-sir=\"quality-value\">85 %<\/span>\n            <\/div>\n            <input class=\"sir-quality-range\" id=\"sir-quality\" data-sir=\"quality\" type=\"range\" min=\"10\" max=\"100\" value=\"85\" step=\"1\">\n            <div class=\"sir-range-labels\">\n              <span>Archivo m\u00e1s peque\u00f1o<\/span>\n              <span>Mayor calidad<\/span>\n            <\/div>\n          <\/div>\n\n          <div class=\"sir-panel\">\n            <div class=\"sir-panel-heading\">\n              <span><span class=\"sir-heading-icon\">\u25a7<\/span>Formato de salida<\/span>\n            <\/div>\n            <div class=\"sir-formats\">\n              <label class=\"sir-format sir-selected\">\n                <input type=\"radio\" data-sir=\"format\" name=\"sir-format-choice\" value=\"image\/jpeg\" checked=\"\">\n                JPG \/ JPEG\n              <\/label>\n              <label class=\"sir-format\">\n                <input type=\"radio\" data-sir=\"format\" name=\"sir-format-choice\" value=\"image\/png\">\n                PNG\n              <\/label>\n              <label class=\"sir-format\">\n                <input type=\"radio\" data-sir=\"format\" name=\"sir-format-choice\" value=\"image\/webp\">\n                WebP\n              <\/label>\n            <\/div>\n          <\/div>\n        <\/div>\n\n        <div class=\"sir-preview-column\">\n          <div class=\"sir-preview-box\">\n            <span class=\"sir-preview-label\">Vista previa<\/span>\n            <div class=\"sir-preview-placeholder\" data-sir=\"placeholder\">Aqu\u00ed aparecer\u00e1 la imagen redimensionada.<\/div>\n            <img class=\"sir-preview-img sir-hidden\" data-sir=\"preview\" alt=\"Vista previa de la imagen redimensionada\">\n          <\/div>\n\n          <div class=\"sir-stats\">\n            <div>\n              <span class=\"sir-stats-label\">Tama\u00f1o del archivo final<\/span>\n              <div class=\"sir-stats-main\" data-sir=\"output-size\">&#8212;<\/div>\n              <span class=\"sir-stats-dim\" data-sir=\"output-dim\">Configura las dimensiones<\/span>\n            <\/div>\n            <span class=\"sir-savings sir-hidden\" data-sir=\"savings\"><\/span>\n          <\/div>\n\n          <button type=\"button\" class=\"sir-btn sir-download\" data-sir=\"download\" disabled=\"\">\n            \u2193 Descargar imagen redimensionada\n          <\/button>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <canvas data-sir=\"canvas\" class=\"sir-hidden\"><\/canvas>\n\n  \n\n  <script>\n    (function () {\n      var root = document.getElementById('safe-image-resizer');\n      if (!root || root.getAttribute('data-sir-ready') === '1') return;\n      root.setAttribute('data-sir-ready', '1');\n\n      function el(name) {\n        return root.querySelector('[data-sir=\"' + name + '\"]');\n      }\n\n      var dropZone = el('dropzone');\n      var fileInput = el('file');\n      var uploadSection = el('upload');\n      var editorSection = el('editor');\n      var notice = el('notice');\n      var canvas = el('canvas');\n      var ctx = canvas.getContext('2d');\n\n      var originalImage = null;\n      var originalFile = null;\n      var originalWidth = 0;\n      var originalHeight = 0;\n      var aspectLocked = true;\n      var currentFormat = 'image\/jpeg';\n      var originalURL = null;\n      var previewURL = null;\n      var debounceTimer = null;\n      var renderToken = 0;\n      var lastEdited = 'width';\n\n      function message(text, error) {\n        notice.textContent = text;\n        notice.classList.remove('sir-hidden', 'sir-error');\n        if (error) notice.classList.add('sir-error');\n      }\n\n      function clearMessage() {\n        notice.classList.add('sir-hidden');\n        notice.classList.remove('sir-error');\n        notice.textContent = '';\n      }\n\n      function bytes(size) {\n        if (size < 1024) return size + ' B';\n        if (size < 1024 * 1024) return (size \/ 1024).toFixed(1) + ' KB';\n        return (size \/ (1024 * 1024)).toFixed(2) + ' MB';\n      }\n\n      function releasePreview() {\n        renderToken++;\n        if (previewURL) {\n          URL.revokeObjectURL(previewURL);\n          previewURL = null;\n        }\n        el('preview').removeAttribute('src');\n        el('preview').classList.add('sir-hidden');\n        el('placeholder').classList.remove('sir-hidden');\n        el('placeholder').textContent = 'Aqu\u00ed aparecer\u00e1 la imagen redimensionada.';\n        el('output-size').textContent = '--';\n        el('output-dim').textContent = 'Configura las dimensiones';\n        el('savings').classList.add('sir-hidden');\n        el('download').disabled = true;\n      }\n\n      function resetImageState() {\n        clearTimeout(debounceTimer);\n        releasePreview();\n\n        if (originalURL) {\n          URL.revokeObjectURL(originalURL);\n          originalURL = null;\n        }\n\n        originalImage = null;\n        originalFile = null;\n        originalWidth = 0;\n        originalHeight = 0;\n      }\n\n      function syncLockButton() {\n        var button = el('lock');\n        button.classList.toggle('sir-unlocked', !aspectLocked);\n        button.textContent = aspectLocked ? '\ud83d\udd12 Bloquear proporci\u00f3n' : '\ud83d\udd13 Desbloquear proporci\u00f3n';\n        button.setAttribute('aria-pressed', aspectLocked ? 'true' : 'false');\n      }\n\n      function applyRatio(changed) {\n        if (!aspectLocked || !originalWidth || !originalHeight) return;\n\n        var ratio = originalWidth \/ originalHeight;\n\n        if (changed === 'width') {\n          var width = Number(el('width').value);\n          if (width > 0) el('height').value = Math.max(1, Math.round(width \/ ratio));\n        } else {\n          var height = Number(el('height').value);\n          if (height > 0) el('width').value = Math.max(1, Math.round(height * ratio));\n        }\n      }\n\n      function dimensions() {\n        var width = Number(el('width').value);\n        var height = Number(el('height').value);\n\n        if (!Number.isInteger(width) || !Number.isInteger(height) ||\n            width < 1 || height < 1 || width > 10000 || height > 10000) {\n          message('Introduce un ancho y un alto entre 1 y 10000 p\u00edxeles.', true);\n          return null;\n        }\n\n        if (width * height > 40000000) {\n          message('Las dimensiones son demasiado grandes. Prueba con un tama\u00f1o menor.', true);\n          return null;\n        }\n\n        return { width: width, height: height };\n      }\n\n      function handleFile(file) {\n        if (!file) return;\n\n        clearMessage();\n\n        if (!\/^image\\\/(jpeg|png|webp)$\/i.test(file.type) &&\n            !\/\\.(jpe?g|png|webp)$\/i.test(file.name)) {\n          message('Selecciona una imagen JPG, PNG o WebP.', true);\n          return;\n        }\n\n        if (file.size > 20 * 1024 * 1024) {\n          message('Selecciona una imagen de menos de 20 MB.', true);\n          return;\n        }\n\n        resetImageState();\n\n        var url = URL.createObjectURL(file);\n        var image = new Image();\n\n        image.onload = function () {\n          if (!image.naturalWidth || !image.naturalHeight) {\n            URL.revokeObjectURL(url);\n            message('No se pudo leer la imagen. Prueba con otro archivo.', true);\n            return;\n          }\n\n          originalURL = url;\n          originalImage = image;\n          originalFile = file;\n          originalWidth = image.naturalWidth;\n          originalHeight = image.naturalHeight;\n\n          el('filename').textContent = file.name;\n          el('extension').textContent = file.name.split('.').pop().toUpperCase();\n          el('original-dim').textContent = originalWidth + ' \u00d7 ' + originalHeight + ' px';\n          el('original-size').textContent = bytes(file.size);\n\n          el('width').value = originalWidth;\n          el('height').value = originalHeight;\n\n          aspectLocked = true;\n          lastEdited = 'width';\n          syncLockButton();\n\n          uploadSection.classList.add('sir-hidden');\n          editorSection.classList.remove('sir-hidden');\n\n          renderImage();\n          message('Imagen cargada correctamente. Ajusta las opciones que necesites.');\n        };\n\n        image.onerror = function () {\n          URL.revokeObjectURL(url);\n          message('No se pudo abrir la imagen. Prueba con otro archivo.', true);\n        };\n\n        image.src = url;\n      }\n\n      function renderImage() {\n        if (!originalImage) return;\n\n        clearTimeout(debounceTimer);\n        clearMessage();\n\n        var size = dimensions();\n        if (!size) {\n          releasePreview();\n          return;\n        }\n\n        var width = size.width;\n        var height = size.height;\n        var quality = Number(el('quality').value) \/ 100;\n        var token = ++renderToken;\n\n        el('download').disabled = true;\n        el('placeholder').textContent = 'Generando vista previa...';\n        el('placeholder').classList.remove('sir-hidden');\n\n        canvas.width = width;\n        canvas.height = height;\n        ctx.clearRect(0, 0, width, height);\n\n        if (currentFormat === 'image\/jpeg') {\n          ctx.fillStyle = '#ffffff';\n          ctx.fillRect(0, 0, width, height);\n        }\n\n        ctx.imageSmoothingEnabled = true;\n        ctx.imageSmoothingQuality = 'high';\n        ctx.drawImage(originalImage, 0, 0, width, height);\n\n        canvas.toBlob(function (blob) {\n          if (token !== renderToken) return;\n\n          if (!blob) {\n            message('No se pudo generar la imagen. Prueba con dimensiones menores.', true);\n            return;\n          }\n\n          if (previewURL) URL.revokeObjectURL(previewURL);\n          previewURL = URL.createObjectURL(blob);\n\n          var preview = el('preview');\n          preview.onload = function () {\n            if (token === renderToken) {\n              preview.classList.remove('sir-hidden');\n              el('placeholder').classList.add('sir-hidden');\n            }\n          };\n          preview.src = previewURL;\n\n          el('output-size').textContent = bytes(blob.size);\n          el('output-dim').textContent = width + ' \u00d7 ' + height + ' px';\n\n          var savings = el('savings');\n          if (originalFile && originalFile.size > 0) {\n            var diff = originalFile.size - blob.size;\n            var percent = Math.round(Math.abs(diff) \/ originalFile.size * 100);\n\n            savings.textContent = diff >= 0\n              ? percent + '% m\u00e1s peque\u00f1o'\n              : percent + '% m\u00e1s grande';\n\n            savings.style.background = diff >= 0 ? '#d1fae5' : '#fef3c7';\n            savings.style.color = diff >= 0 ? '#047857' : '#92400e';\n            savings.classList.remove('sir-hidden');\n          }\n\n          el('download').disabled = false;\n          canvas.width = 1;\n          canvas.height = 1;\n        }, currentFormat, currentFormat === 'image\/png' ? undefined : quality);\n      }\n\n      function scheduleRender() {\n        clearTimeout(debounceTimer);\n        debounceTimer = setTimeout(renderImage, 220);\n      }\n\n      function downloadImage() {\n        if (!originalImage) {\n          message('Primero, selecciona una imagen.', true);\n          return;\n        }\n\n        var size = dimensions();\n        if (!size) return;\n\n        var width = size.width;\n        var height = size.height;\n        var quality = Number(el('quality').value) \/ 100;\n        var format = currentFormat;\n        var button = el('download');\n\n        button.disabled = true;\n        button.textContent = 'Preparando descarga...';\n\n        canvas.width = width;\n        canvas.height = height;\n        ctx.clearRect(0, 0, width, height);\n\n        if (format === 'image\/jpeg') {\n          ctx.fillStyle = '#ffffff';\n          ctx.fillRect(0, 0, width, height);\n        }\n\n        ctx.imageSmoothingEnabled = true;\n        ctx.imageSmoothingQuality = 'high';\n        ctx.drawImage(originalImage, 0, 0, width, height);\n\n        canvas.toBlob(function (blob) {\n          button.disabled = false;\n          button.textContent = '\u2193 Descargar imagen redimensionada';\n\n          if (!blob) {\n            message('No se pudo crear la descarga. Prueba con dimensiones menores.', true);\n            return;\n          }\n\n          var extension = format === 'image\/jpeg' ? 'jpg' :\n                          format === 'image\/png' ? 'png' : 'webp';\n\n          var baseName = originalFile.name.replace(\/\\.[^.]+$\/, '') || 'imagen';\n          var filename = baseName + '_redimensionada_' + width + 'x' + height + '.' + extension;\n          var url = URL.createObjectURL(blob);\n          var link = document.createElement('a');\n\n          link.href = url;\n          link.download = filename;\n          link.style.display = 'none';\n          document.body.appendChild(link);\n          link.click();\n          link.remove();\n\n          setTimeout(function () {\n            URL.revokeObjectURL(url);\n          }, 1500);\n\n          message('Imagen descargada correctamente: ' + filename);\n          canvas.width = 1;\n          canvas.height = 1;\n        }, format, format === 'image\/png' ? undefined : quality);\n      }\n\n      el('browse').addEventListener('click', function (event) {\n        event.stopPropagation();\n        fileInput.click();\n      });\n\n      dropZone.addEventListener('click', function (event) {\n        if (event.target.closest('[data-sir=\"browse\"]')) return;\n        fileInput.click();\n      });\n\n      dropZone.addEventListener('keydown', function (event) {\n        if (event.target !== dropZone) return;\n        if (event.key === 'Enter' || event.key === ' ') {\n          event.preventDefault();\n          fileInput.click();\n        }\n      });\n\n      fileInput.addEventListener('change', function () {\n        if (fileInput.files && fileInput.files[0]) handleFile(fileInput.files[0]);\n      });\n\n      ['dragenter', 'dragover'].forEach(function (name) {\n        dropZone.addEventListener(name, function (event) {\n          event.preventDefault();\n          event.stopPropagation();\n          dropZone.classList.add('sir-dragging');\n        });\n      });\n\n      ['dragleave', 'drop'].forEach(function (name) {\n        dropZone.addEventListener(name, function (event) {\n          event.preventDefault();\n          event.stopPropagation();\n          dropZone.classList.remove('sir-dragging');\n        });\n      });\n\n      dropZone.addEventListener('drop', function (event) {\n        var files = event.dataTransfer && event.dataTransfer.files;\n        if (files && files[0]) handleFile(files[0]);\n      });\n\n      el('change').addEventListener('click', function () {\n        fileInput.value = '';\n        resetImageState();\n        editorSection.classList.add('sir-hidden');\n        uploadSection.classList.remove('sir-hidden');\n        clearMessage();\n      });\n\n      el('lock').addEventListener('click', function () {\n        aspectLocked = !aspectLocked;\n        syncLockButton();\n\n        if (aspectLocked) {\n          applyRatio(lastEdited);\n          scheduleRender();\n        }\n      });\n\n      el('width').addEventListener('input', function () {\n        lastEdited = 'width';\n        applyRatio('width');\n        scheduleRender();\n      });\n\n      el('height').addEventListener('input', function () {\n        lastEdited = 'height';\n        applyRatio('height');\n        scheduleRender();\n      });\n\n      el('quality').addEventListener('input', function () {\n        el('quality-value').textContent = el('quality').value + ' %';\n        scheduleRender();\n      });\n\n      root.querySelectorAll('[data-sir=\"preset\"]').forEach(function (button) {\n        button.addEventListener('click', function () {\n          if (!originalImage) return;\n\n          var scale = Number(button.getAttribute('data-scale'));\n          el('width').value = Math.max(1, Math.round(originalWidth * scale));\n          el('height').value = Math.max(1, Math.round(originalHeight * scale));\n          lastEdited = 'width';\n          renderImage();\n        });\n      });\n\n      root.querySelectorAll('[data-sir=\"format\"]').forEach(function (radio) {\n        radio.addEventListener('change', function () {\n          if (!radio.checked) return;\n\n          currentFormat = radio.value;\n\n          root.querySelectorAll('[data-sir=\"format\"]').forEach(function (item) {\n            item.closest('.sir-format').classList.toggle('sir-selected', item.checked);\n          });\n\n          var disabled = currentFormat === 'image\/png';\n          el('quality').disabled = disabled;\n          el('quality').style.opacity = disabled ? '0.45' : '1';\n\n          renderImage();\n        });\n      });\n\n      el('download').addEventListener('click', downloadImage);\n      syncLockButton();\n    })();\n  <\/script>\n<\/div>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Cambia el tama\u00f1o de tus im\u00e1genes JPG online de forma r\u00e1pida y sencilla. Con nuestra herramienta gratuita, puedes ajustar el ancho y la altura de una imagen en p\u00edxeles, reducir el tama\u00f1o del archivo y elegir la calidad que necesitas. No necesitas instalar programas ni tener conocimientos de edici\u00f3n de im\u00e1genes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Solo tienes que subir tu imagen, introducir las nuevas dimensiones y descargar el resultado. Tambi\u00e9n puedes convertir im\u00e1genes a JPG, PNG o WebP para adaptarlas a diferentes p\u00e1ginas web, redes sociales, documentos y otros usos.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfC\u00f3mo cambiar el tama\u00f1o de una imagen JPG online?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Cambiar el tama\u00f1o de una imagen es f\u00e1cil con nuestra herramienta. Sigue estos sencillos pasos para obtener una imagen con las dimensiones que necesitas.<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>Sube tu imagen:<\/strong> Haz clic en el bot\u00f3n para seleccionar una imagen JPG, PNG o WebP desde tu dispositivo. Tambi\u00e9n puedes arrastrar y soltar el archivo en el \u00e1rea de carga.<\/li>\n\n\n\n<li><strong>Introduce las dimensiones:<\/strong> Escribe el nuevo ancho y la altura en p\u00edxeles. Puedes mantener la proporci\u00f3n original para evitar que la imagen se vea estirada.<\/li>\n\n\n\n<li><strong>Ajusta la calidad:<\/strong> Utiliza el control de calidad para equilibrar el tama\u00f1o del archivo y la apariencia de la imagen.<\/li>\n\n\n\n<li><strong>Selecciona el formato:<\/strong> Elige JPG, PNG o WebP seg\u00fan tus necesidades.<\/li>\n\n\n\n<li><strong>Descarga la imagen:<\/strong> Comprueba la vista previa y descarga la imagen redimensionada a tu dispositivo.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Todo el proceso es sencillo y est\u00e1 dise\u00f1ado para funcionar directamente en tu navegador.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfQu\u00e9 significa cambiar el tama\u00f1o de una imagen JPG?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Cambiar el tama\u00f1o de una imagen JPG significa modificar sus dimensiones en p\u00edxeles. Por ejemplo, puedes convertir una imagen de 4000 \u00d7 3000 p\u00edxeles en otra de 1200 \u00d7 900 p\u00edxeles para utilizarla en una p\u00e1gina web o compartirla f\u00e1cilmente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Reducir las dimensiones puede ayudar a disminuir el tama\u00f1o del archivo, especialmente cuando tambi\u00e9n ajustas la calidad de compresi\u00f3n. Esto resulta \u00fatil para subir fotograf\u00edas a sitios web, enviar im\u00e1genes por correo electr\u00f3nico y ahorrar espacio de almacenamiento.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Es importante distinguir entre las dimensiones de una imagen y el tama\u00f1o de su archivo. Las dimensiones se miden en p\u00edxeles, mientras que el archivo se mide en KB o MB. Ambos factores influyen en el uso y la facilidad para compartir una imagen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Cambiar el ancho y la altura de una imagen<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Nuestra herramienta permite establecer dimensiones personalizadas para adaptar tus im\u00e1genes a diferentes necesidades. Puedes introducir el ancho y la altura exactos que deseas utilizar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por ejemplo, si necesitas una imagen de 800 \u00d7 600 p\u00edxeles, introduce esos valores en los campos correspondientes. Tambi\u00e9n puedes utilizar las opciones r\u00e1pidas para reducir la imagen al 25 %, 50 % o 75 % de sus dimensiones originales.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La opci\u00f3n de mantener la proporci\u00f3n ayuda a conservar la forma original de la imagen. Cuando modificas el ancho, la altura se ajusta autom\u00e1ticamente, o viceversa.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si necesitas unas dimensiones exactas que no mantienen la proporci\u00f3n original, puedes desbloquear esta opci\u00f3n. Ten en cuenta que modificar el ancho y la altura de forma independiente puede deformar la imagen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Reducir el tama\u00f1o de un archivo JPG<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u00bfTu imagen JPG ocupa demasiado espacio? Redimensionarla puede ayudarte a crear un archivo m\u00e1s peque\u00f1o y f\u00e1cil de compartir.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Al reducir las dimensiones de una fotograf\u00eda, normalmente disminuye la cantidad de datos que contiene. Tambi\u00e9n puedes ajustar el nivel de calidad para controlar la compresi\u00f3n de la imagen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una calidad m\u00e1s alta suele conservar m\u00e1s detalles, pero genera archivos m\u00e1s grandes. Una calidad m\u00e1s baja puede reducir considerablemente el tama\u00f1o del archivo, aunque tambi\u00e9n puede producir p\u00e9rdida de detalles visibles.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para encontrar un buen equilibrio, prueba diferentes niveles de calidad y comprueba el resultado en la vista previa antes de descargarlo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ten en cuenta que el tama\u00f1o final depende de las dimensiones originales, el contenido de la imagen, el formato elegido y el nivel de calidad. No es posible garantizar un tama\u00f1o exacto en KB utilizando \u00fanicamente las dimensiones y el control de calidad.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Cambiar el tama\u00f1o de im\u00e1genes para p\u00e1ginas web<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Las im\u00e1genes demasiado grandes pueden ocupar m\u00e1s espacio del necesario y tardar m\u00e1s en cargarse. Por eso, es recomendable utilizar dimensiones adecuadas para cada p\u00e1gina o elemento de tu sitio web.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Puedes redimensionar im\u00e1genes para:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Fotograf\u00edas de art\u00edculos y publicaciones de blogs.<\/li>\n\n\n\n<li>Im\u00e1genes destacadas de p\u00e1ginas web.<\/li>\n\n\n\n<li>Miniaturas y galer\u00edas de fotograf\u00edas.<\/li>\n\n\n\n<li>Im\u00e1genes para tiendas online y cat\u00e1logos de productos.<\/li>\n\n\n\n<li>Fotograf\u00edas para perfiles y publicaciones en redes sociales.<\/li>\n\n\n\n<li>Im\u00e1genes para presentaciones y documentos digitales.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Antes de subir una imagen a tu p\u00e1gina web, comprueba las dimensiones recomendadas por la plataforma. Elegir el tama\u00f1o adecuado puede ayudar a optimizar el rendimiento de la p\u00e1gina sin perder m\u00e1s calidad de la necesaria.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Elegir entre JPG, PNG y WebP<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Nuestra herramienta permite seleccionar distintos formatos de salida para adaptar las im\u00e1genes al uso que necesitas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>JPG:<\/strong> Es una buena opci\u00f3n para fotograf\u00edas, im\u00e1genes de viajes y fotograf\u00edas de productos. Permite ajustar la calidad para controlar el tama\u00f1o del archivo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>PNG:<\/strong> Es \u00fatil para gr\u00e1ficos, capturas de pantalla e im\u00e1genes que necesitan transparencia. El formato PNG no utiliza el mismo control de calidad con p\u00e9rdida que JPG.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>WebP:<\/strong> Es un formato moderno que puede ofrecer una buena combinaci\u00f3n de calidad y tama\u00f1o reducido. Es especialmente \u00fatil para muchas im\u00e1genes utilizadas en p\u00e1ginas web.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El mejor formato depende del tipo de imagen y de d\u00f3nde quieras utilizarla. Si necesitas transparencia, evita convertir la imagen a JPG, ya que las \u00e1reas transparentes se sustituir\u00e1n por un fondo s\u00f3lido.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfPuedo cambiar el tama\u00f1o de una imagen sin perder calidad?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Puedes reducir las dimensiones de una imagen y conservar una buena apariencia si eliges los ajustes adecuados. Sin embargo, no siempre es posible mantener todos los detalles originales.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Al reducir una fotograf\u00eda, algunos p\u00edxeles se eliminan durante el proceso de redimensionamiento. Si aumentas mucho las dimensiones de una imagen peque\u00f1a, es posible que se vea borrosa o pierda nitidez.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para conseguir buenos resultados, conserva el archivo original, evita aumentar demasiado las dimensiones y selecciona una calidad adecuada para el uso final.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si necesitas una imagen para imprimir, comprueba tambi\u00e9n las dimensiones en p\u00edxeles y los requisitos de resoluci\u00f3n de impresi\u00f3n.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfEs seguro cambiar el tama\u00f1o de im\u00e1genes online?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Nuestra herramienta est\u00e1 dise\u00f1ada para procesar las im\u00e1genes directamente en tu navegador, sin necesidad de instalar un programa adicional. El procesamiento local puede ayudarte a mantener el control de tus archivos durante la edici\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para obtener mejores resultados, utiliza un navegador actualizado y aseg\u00farate de descargar la imagen final antes de cerrar la p\u00e1gina.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No subas im\u00e1genes privadas o confidenciales a ninguna herramienta online sin comprobar primero c\u00f3mo se procesan los archivos y qu\u00e9 condiciones de privacidad se aplican.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ventajas de nuestro redimensionador de im\u00e1genes JPG<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Con nuestro redimensionador puedes ajustar im\u00e1genes de manera sencilla sin instalar programas de edici\u00f3n.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Uso gratuito y sencillo.<\/li>\n\n\n\n<li>Dimensiones personalizadas en p\u00edxeles.<\/li>\n\n\n\n<li>Opciones r\u00e1pidas para cambiar el tama\u00f1o.<\/li>\n\n\n\n<li>Control de la proporci\u00f3n de la imagen.<\/li>\n\n\n\n<li>Ajuste de calidad para formatos compatibles.<\/li>\n\n\n\n<li>Conversi\u00f3n entre JPG, PNG y WebP.<\/li>\n\n\n\n<li>Vista previa antes de descargar.<\/li>\n\n\n\n<li>Interfaz adaptable a ordenadores, tabletas y m\u00f3viles.<\/li>\n\n\n\n<li>Procesamiento en el navegador.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">La herramienta es \u00fatil tanto para tareas personales como para preparar im\u00e1genes para sitios web, blogs, redes sociales y documentos.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Preguntas frecuentes sobre cambiar el tama\u00f1o de im\u00e1genes JPG<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfC\u00f3mo puedo cambiar el tama\u00f1o de un JPG gratis?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Abre nuestra herramienta, selecciona tu imagen, introduce las nuevas dimensiones, ajusta la calidad si es necesario y descarga el resultado. No necesitas instalar ning\u00fan programa.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfPuedo cambiar una imagen JPG a 1000 \u00d7 1000 p\u00edxeles?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">S\u00ed. Introduce 1000 en el campo de ancho y 1000 en el campo de altura. Si la proporci\u00f3n original es diferente, tendr\u00e1s que desbloquear la proporci\u00f3n para utilizar ambas dimensiones exactas. Esto puede deformar la imagen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfCambiar el tama\u00f1o de una imagen reduce los KB?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Puede reducirlos, especialmente si disminuyes las dimensiones y ajustas la calidad de compresi\u00f3n. El resultado depende de la imagen original y del formato de salida.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfPuedo cambiar el tama\u00f1o de una imagen desde mi m\u00f3vil?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">S\u00ed. Puedes utilizar la herramienta desde un navegador m\u00f3vil compatible. Selecciona una imagen de tu dispositivo, ajusta las dimensiones y descarga el resultado.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfQu\u00e9 tama\u00f1o de imagen debo utilizar para una p\u00e1gina web?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Depende del espacio donde se mostrar\u00e1 la imagen. Comprueba el ancho del contenido, el dise\u00f1o de tu p\u00e1gina y las recomendaciones de tu plataforma antes de elegir las dimensiones.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfPuedo aumentar el tama\u00f1o de una imagen peque\u00f1a?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">S\u00ed. Puedes introducir dimensiones mayores que las originales. Sin embargo, aumentar el tama\u00f1o no crea detalles nuevos y puede hacer que la imagen se vea menos n\u00edtida.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfCu\u00e1l es la diferencia entre redimensionar y comprimir una imagen?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Redimensionar cambia las dimensiones en p\u00edxeles. Comprimir reduce el tama\u00f1o del archivo mediante t\u00e9cnicas de compresi\u00f3n. Puedes combinar ambos m\u00e9todos para conseguir una imagen m\u00e1s ligera.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfQu\u00e9 formatos de imagen admite la herramienta?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Puedes cargar im\u00e1genes JPG, PNG y WebP y seleccionar uno de estos tres formatos para el archivo de salida.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Cambia el tama\u00f1o de tus im\u00e1genes en unos segundos<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Prepara tus fotograf\u00edas para p\u00e1ginas web, redes sociales, documentos y otros proyectos con nuestro redimensionador de im\u00e1genes online. Elige las dimensiones que necesitas, ajusta la calidad y descarga tu imagen en el formato adecuado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Empieza ahora con <strong>Compressor JPG<\/strong> y cambia el tama\u00f1o de tus im\u00e1genes de forma sencilla y gratuita.<\/p>\n<div id=\"compr-1942252902\" class=\"compr-after-content compr-entity-placement\" role=\"region\" aria-label=\"Advertisements\"><script async=\"async\" data-cfasync=\"false\" src=\"https:\/\/overhearappointdare.com\/fd2904bb45b864bbf2485576be5f2ce4\/invoke.js\"><\/script>\r\n<div id=\"container-fd2904bb45b864bbf2485576be5f2ce4\"><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>\u2194 Cambiar tama\u00f1o de imagen JPG Cambia el tama\u00f1o, comprime y optimiza tus im\u00e1genes \u2191 Arrastra y suelta tu imagen&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_kadence_starter_templates_imported_post":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[1],"tags":[158,156,155,160,157],"class_list":["post-6089","post","type-post","status-publish","format-standard","hentry","category-comprimir","tag-cambiar-dimensiones-de-una-imagen","tag-cambiar-tamano-de-imagen-jpg","tag-cambiar-tamano-de-jpg-online","tag-redimensionar-foto-en-pixeles","tag-redimensionar-imagenes-online-gratis"],"_links":{"self":[{"href":"https:\/\/www.compressorjpg.com\/es\/wp-json\/wp\/v2\/posts\/6089","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.compressorjpg.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.compressorjpg.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.compressorjpg.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.compressorjpg.com\/es\/wp-json\/wp\/v2\/comments?post=6089"}],"version-history":[{"count":3,"href":"https:\/\/www.compressorjpg.com\/es\/wp-json\/wp\/v2\/posts\/6089\/revisions"}],"predecessor-version":[{"id":6092,"href":"https:\/\/www.compressorjpg.com\/es\/wp-json\/wp\/v2\/posts\/6089\/revisions\/6092"}],"wp:attachment":[{"href":"https:\/\/www.compressorjpg.com\/es\/wp-json\/wp\/v2\/media?parent=6089"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.compressorjpg.com\/es\/wp-json\/wp\/v2\/categories?post=6089"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.compressorjpg.com\/es\/wp-json\/wp\/v2\/tags?post=6089"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}