CINXE.COM

How to rip CDs with iTunes | Macworld

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="category" content="Professional Software"> <meta name="content_type" content="How-To"> <link rel="profile" href="https://gmpg.org/xfn/11"> <meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' /> <!-- This site is optimized with the Yoast SEO Premium plugin v21.7 (Yoast SEO v23.1) - https://yoast.com/wordpress/plugins/seo/ --> <title>How to rip CDs with iTunes | Macworld</title> <meta name="twitter:label1" content="Written by" /> <meta name="twitter:data1" content="Christopher Breen" /> <meta name="twitter:label2" content="Est. reading time" /> <meta name="twitter:data2" content="4 minutes" /> <!-- / Yoast SEO Premium plugin. --> <link rel='dns-prefetch' href='//rumcdn.geoedge.be' /> <link rel='dns-prefetch' href='//cdn.onthe.io' /> <link rel='dns-prefetch' href='//unpkg.com' /> <link rel='dns-prefetch' href='//stats.wp.com' /> <link rel="alternate" type="application/rss+xml" title="Macworld &raquo; Comments Feed" href="https://www.macworld.com/en-us/feed" /> <script> window.grumi = { key: '859c0fcb-feae-4616-afed-20011b559baa' }; </script> <script> window._sp_analytics = { config: { accountId: 146, events: { onDetectionComplete: function () { console.log('onMessageReady'); } }, } }; </script> <script type="text/javascript">function ybGPTHook(w,advIds){if (!advIds||advIds.length===0)return;w.googletag=w.googletag||{cmd:[]};w.googletag.cmd.unshift=function(cb){w.googletag.cmd.splice(1,0,cb)};w.googletag.cmd.push(function(){var ves=['slotRequested','slotResponseReceived','slotRenderEnded','slotOnload','impressionViewable','slotVisibilityChanged'];var ies=ves.slice(1);var srv=w.googletag.pubads();srv.__hook_version=2;srv.setTargeting('in2w_key15','u0');function frc(c){return 'u'+(c<11?c:c<26?'10-':c<51?'25-':c<101?'50-':'100-')}function ge(s){return w.document.getElementById(s.getSlotElementId())}function iye(s){var i=s.__getResponseInformation?s.__getResponseInformation():s.getResponseInformation();return (i&&i.advertiserId&&advIds.indexOf(i.advertiserId)!==-1);}function fs(s,l){try{var e=ge(s);if(l){if(!e.style['min-width']&&!e.style['min-height']){e.style['min-width']=e.offsetWidth+'px';e.style['min-height']=e.offsetHeight+'px';s.__keepSize=1;}}else if(s.__keepSize){e.style['min-width']='';e.style['min-height']='';delete s.__keepSize;}}catch(er){}}srv.__refresh=srv.refresh;srv.refresh=function refreshProxy(slots){var args=[];for(var i in arguments)args.push(arguments[i]);try{if(!slots)slots=this.getSlots();for(var i in slots){var slot=slots[i];slot.setTargeting('in2w_key15', frc(slot.__refreshCount||0));}}catch(er){}srv.__refresh.apply(srv,args);}.bind(srv);srv.__reportEvents=function(type,event){if(srv.__eventProxy && srv.__eventProxy[type]){for(var i in srv.__eventProxy[type]){try{srv.__eventProxy[type][i](event)}catch(er){}}}};srv.__addEventListener=srv.addEventListener;srv.addEventListener=function eventListenerProxy(type,listener){if(ves.indexOf(type)!==-1){try{this.__eventProxy=this.__eventProxy||{};if(!this.__eventProxy[type]){this.__eventProxy[type]=[listener];return srv.__addEventListener(type,function proxy(event){var slot=event.slot;if(slot.__skipEvent&&slot.__skipEvent[type]&&(new Date().getTime()-slot.__skipEvent[type]<3000)){delete slot.__skipEvent[type];return;}else{if(ies.indexOf(type)!==-1&&iye(slot)){return}for(var i in srv.__eventProxy[type]){try{srv.__eventProxy[type][i](event)}catch(er){}}}});}else{if(this.__eventProxy[type].indexOf(listener)===-1){this.__eventProxy[type].push(listener);}return srv;}}catch(er){}}return srv.__addEventListener(type,listener);}.bind(srv);srv.addEventListener('slotRequested',function(event){var slot=event.slot;delete slot.__responseInfo;slot.__refreshCount=slot.__refreshCount||0;++slot.__refreshCount;fs(slot,true);});srv.addEventListener('slotRenderEnded',function(event){fs(event.slot,false)});srv.__addEventListener('slotRequested',function(event){var slot=event.slot;try{var e=ge(slot);e.children[0].style.display='none';slot.__hide=1;}catch(er){}});srv.__addEventListener('slotRenderEnded',function(event){var slot = event.slot;if(slot.__hide){try{var e = ge(slot);if(iye(slot)){e.children[0].children[0].style.display='none';}if(e.children[0].style.width&&e.children[0].style['text-align']!=='center'){e.children[0].style.display='inline-block';}else{e.children[0].style.display = '';}}catch(e2){}delete slot.__hide;}});srv.__removeEventListener=srv.removeEventListener;srv.removeEventListener=function removeEventListenerProxy(type,listener){try{var proxy=this.__eventProxy;if(proxy&&proxy[type]){if(proxy[type].indexOf(listener)!==-1){proxy[type].splice(proxy[type].indexOf(listener),1);return true;}else{return false;}}}catch(er){}return srv.__removeEventListener(type,listener);}.bind(srv);});} ybGPTHook(window, [4998674527]); // 4998674527 is intowowNonBillable advertiser id</script><script> window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/www.macworld.com\/wp-includes\/js\/wp-emoji-release.min.js?ver=6.6.2"}}; /*! This file is auto-generated */ !function(i,n){var o,s,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),r=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===r[t]})}function u(e,t,n){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\uddfa\ud83c\uddf3","\ud83c\uddfa\u200b\ud83c\uddf3")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!n(e,"\ud83d\udc26\u200d\u2b1b","\ud83d\udc26\u200b\u2b1b")}return!1}function f(e,t,n){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):i.createElement("canvas"),a=r.getContext("2d",{willReadFrequently:!0}),o=(a.textBaseline="top",a.font="600 32px Arial",{});return e.forEach(function(e){o[e]=t(a,e,n)}),o}function t(e){var t=i.createElement("script");t.src=e,t.defer=!0,i.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",s=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){i.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"}),a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=function(e){c(n=e.data),a.terminate(),t(n)})}catch(e){}c(n=f(s,u,p))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings); </script> <style id='wp-emoji-styles-inline-css'> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link rel='stylesheet' id='wp-block-library-css' href='https://www.macworld.com/wp-includes/css/dist/block-library/style.min.css?ver=6.6.2' media='all' /> <style id='wp-block-library-inline-css'> .has-text-align-justify{text-align:justify;} </style> <style id='co-authors-plus-coauthors-style-inline-css'> .wp-block-co-authors-plus-coauthors.is-layout-flow [class*=wp-block-co-authors-plus]{display:inline} </style> <style id='co-authors-plus-avatar-style-inline-css'> .wp-block-co-authors-plus-avatar :where(img){height:auto;max-width:100%;vertical-align:bottom}.wp-block-co-authors-plus-coauthors.is-layout-flow .wp-block-co-authors-plus-avatar :where(img){vertical-align:middle}.wp-block-co-authors-plus-avatar:is(.alignleft,.alignright){display:table}.wp-block-co-authors-plus-avatar.aligncenter{display:table;margin-inline:auto} </style> <style id='co-authors-plus-image-style-inline-css'> .wp-block-co-authors-plus-image{margin-bottom:0}.wp-block-co-authors-plus-image :where(img){height:auto;max-width:100%;vertical-align:bottom}.wp-block-co-authors-plus-coauthors.is-layout-flow .wp-block-co-authors-plus-image :where(img){vertical-align:middle}.wp-block-co-authors-plus-image:is(.alignfull,.alignwide) :where(img){width:100%}.wp-block-co-authors-plus-image:is(.alignleft,.alignright){display:table}.wp-block-co-authors-plus-image.aligncenter{display:table;margin-inline:auto} </style> <style id='global-styles-inline-css'> :root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} :root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;} </style> <link rel='stylesheet' id='idg-sponsored-price-style-css' href='https://www.macworld.com/wp-content/client-mu-plugins/idg-sponsored-price-comparison/dist/styles/main.css?ver=1739908368' media='all' /> <link rel='stylesheet' id='third-party-integrations-style-css' href='https://www.macworld.com/wp-content/client-mu-plugins/idg-third-party/dist/styles/index.css?ver=1739908368' media='all' /> <link rel='stylesheet' id='frontend-jwplayer-styles-css' href='https://www.macworld.com/wp-content/themes/idg-base-theme/dist/styles/jwplayer.css?ver=1739908368' media='all' /> <link rel='stylesheet' id='frontend-shared-styles-css' href='https://www.macworld.com/wp-content/themes/idg-base-theme/dist/styles/shared.css?ver=1739908368' media='all' /> <link rel='stylesheet' id='frontend-styles-css' href='https://www.macworld.com/wp-content/themes/idg-base-theme/dist/styles/bundle.css?ver=1739908368' media='all' /> <link rel='stylesheet' id='macworld-shared-styles-css' href='https://www.macworld.com/wp-content/themes/macworld-com-child-theme/dist/styles/theme.css?ver=1739908368' media='all' /> <script async src="https://rumcdn.geoedge.be/859c0fcb-feae-4616-afed-20011b559baa/grumi-ip.js?ver=1" id="idg_geo_edge_code-js"></script> <script id="third-party-integrations-script-js-extra"> var IDG = {"settings":{"cmp":{"account":{"id":"146","base_endpoint":"https:\/\/cmpv2.macworld.com","href":"https:\/\/macworld.com","is_cp_multi_campaign_enabled":true},"gdpr":{"script":"https:\/\/cmpv2.macworld.com\/unified\/wrapperMessagingWithoutDetection.js","privacy_manager_id":"165662","property_id":"9228","privacy_manager_id_amp":"172450","href_amp":"https:\/\/amp.macworld.com"},"ccpa":{"script":"https:\/\/cmpv2.macworld.com\/ccpa.js","origin":"https:\/\/ccpa-service.sp-prod.net","privacy_manager_id":"902552","privacy_manager_uuid":"5dfa75f712068b42714ed7b8","property_id":"16078","href_amp":"https:\/\/ccpa.amp.macworld.com"}},"gtm":{"account":{"id":"GTM-5JGZ3LH","amp_id":"","ua_number":"UA-870741-1"}},"gpt":{"consent":{"vendor_id":"5e74df5ff443bb795772df9c"},"config":{"prefix":"\/8456\/IDG.US_CSMB_Macworld.com\/","threshold":"0","slots":[{"name":"gpt-leaderboard","template":"banner","disabled":false,"sticky_duration":"12","pos":"ATF","size":"320x50","size_definitions":[{"breakpoint":"970","sizes":"970x250,1400x250,2000x250,980x240,1x2","insert_after_p_instructional":"4","insert_after_p_informational":"4","insert_after_p_transactional":"4"},{"breakpoint":"728","sizes":"728x90,468x60","insert_after_p_instructional":"4","insert_after_p_informational":"4","insert_after_p_transactional":"4"},{"breakpoint":"320","sizes":"300x250,300x50,320x50,320x480,320x320","insert_after_p_instructional":"4","insert_after_p_informational":"4","insert_after_p_transactional":"4"}]},{"name":"gpt-leaderboardmainbod","template":"article","disabled":false,"insert_after_p":"4","insert_after_article":"4","insert_after_article_offset":"8","refresh_interval":"20","refresh_amount":"20","size":"320x50","pos":"BTF{{count}}","size_definitions":[{"breakpoint":"970","sizes":"728x90","min-height":"148","insert_after_p_instructional":"4","insert_after_p_informational":"4","insert_after_p_transactional":"4"},{"breakpoint":"728","sizes":"300x50,320x50,300x250,320x320,320x480","min-height":"284","insert_after_p_instructional":"4","insert_after_p_informational":"4","insert_after_p_transactional":"4"},{"breakpoint":"320","sizes":"300x250,300x50,320x50,320x320,320x480","min-height":"284","insert_after_p_instructional":"4","insert_after_p_informational":"4","insert_after_p_transactional":"4"}],"insert_after_two_p":true},{"name":"gpt-leaderboardfoot","template":"footer","disabled":false,"size":"300x50","pos":"BTF","size_definitions":[{"breakpoint":"970","sizes":"970x250,728x90","insert_after_p_instructional":"4","insert_after_p_informational":"4","insert_after_p_transactional":"4"},{"breakpoint":"728","sizes":"728x90,468x60","insert_after_p_instructional":"4","insert_after_p_informational":"4","insert_after_p_transactional":"4"},{"breakpoint":"320","sizes":"300x250,300x50,320x50","insert_after_p_instructional":"4","insert_after_p_informational":"4","insert_after_p_transactional":"4"}]},{"name":"gpt-rightrail","template":"right_rail","disabled":false,"size":"120x600","replace_interval":"20","replace_amount":"18","refresh_interval":"20","section":"Sidebardfpatf{{count}}","pos":"ATF1","size_definitions":[{"breakpoint":"970","sizes":"300x250,300x600,160x600,120x600,250x600","insert_after_p_instructional":"4","insert_after_p_informational":"4","insert_after_p_transactional":"4"},{"breakpoint":"728","sizes":"","insert_after_p_instructional":"4","insert_after_p_informational":"4","insert_after_p_transactional":"4"},{"breakpoint":"320","sizes":"","insert_after_p_instructional":"4","insert_after_p_informational":"4","insert_after_p_transactional":"4"}]},{"name":"gpt-welcome","template":"overlay","disabled":false,"size":"640x480","pos":"gpt-welcome","size_definitions":[{"breakpoint":"970","sizes":"640x480","insert_after_p_instructional":"4","insert_after_p_informational":"4","insert_after_p_transactional":"4"},{"breakpoint":"728","sizes":"640x480","insert_after_p_instructional":"4","insert_after_p_informational":"4","insert_after_p_transactional":"4"},{"breakpoint":"320","sizes":"","insert_after_p_instructional":"4","insert_after_p_informational":"4","insert_after_p_transactional":"4"}]},{"name":"gpt-skin","template":"skin","disabled":false,"size":"1x1","pos":"gpt-skin","size_definitions":[{"breakpoint":"970","sizes":"1x1","insert_after_p_instructional":"4","insert_after_p_informational":"4","insert_after_p_transactional":"4"},{"breakpoint":"728","sizes":"","insert_after_p_instructional":"4","insert_after_p_informational":"4","insert_after_p_transactional":"4"},{"breakpoint":"320","sizes":"","insert_after_p_instructional":"4","insert_after_p_informational":"4","insert_after_p_transactional":"4"}]},{"name":"gpt-contenthub-article","template":"gpt-contenthub-article","disabled":false,"pos":"gpt-contenthub","size":"728x90","size_definitions":[{"breakpoint":"970","sizes":"970x56","insert_after_p_instructional":"4","insert_after_p_informational":"4","insert_after_p_transactional":"4"},{"breakpoint":"850","sizes":"850x56","insert_after_p_instructional":"4","insert_after_p_informational":"4","insert_after_p_transactional":"4"},{"breakpoint":"344","sizes":"344x56","insert_after_p_instructional":"4","insert_after_p_informational":"4","insert_after_p_transactional":"4"}]},{"name":"gpt_bouncex","template":"bouncex","disabled":false,"size":"1x3","pos":"gpt_bouncex","size_definitions":[{"breakpoint":"970","sizes":"1x3","insert_after_p_instructional":"4","insert_after_p_informational":"4","insert_after_p_transactional":"4"},{"breakpoint":"728","sizes":"1x3","insert_after_p_instructional":"4","insert_after_p_informational":"4","insert_after_p_transactional":"4"},{"breakpoint":"320","sizes":"1x3","insert_after_p_instructional":"4","insert_after_p_informational":"4","insert_after_p_transactional":"4"}]}],"aps_pub_id":"3051"},"adapex":{"is_adapex_enabled":true}},"index_exchange":{"config":{"id":"183980-206117126681438","intowow_code":"function ybGPTHook(w,advIds){if (!advIds||advIds.length===0)return;w.googletag=w.googletag||{cmd:[]};w.googletag.cmd.unshift=function(cb){w.googletag.cmd.splice(1,0,cb)};w.googletag.cmd.push(function(){var ves=['slotRequested','slotResponseReceived','slotRenderEnded','slotOnload','impressionViewable','slotVisibilityChanged'];var ies=ves.slice(1);var srv=w.googletag.pubads();srv.__hook_version=2;srv.setTargeting('in2w_key15','u0');function frc(c){return 'u'+(c<11?c:c<26?'10-':c<51?'25-':c<101?'50-':'100-')}function ge(s){return w.document.getElementById(s.getSlotElementId())}function iye(s){var i=s.__getResponseInformation?s.__getResponseInformation():s.getResponseInformation();return (i&&i.advertiserId&&advIds.indexOf(i.advertiserId)!==-1);}function fs(s,l){try{var e=ge(s);if(l){if(!e.style['min-width']&&!e.style['min-height']){e.style['min-width']=e.offsetWidth+'px';e.style['min-height']=e.offsetHeight+'px';s.__keepSize=1;}}else if(s.__keepSize){e.style['min-width']='';e.style['min-height']='';delete s.__keepSize;}}catch(er){}}srv.__refresh=srv.refresh;srv.refresh=function refreshProxy(slots){var args=[];for(var i in arguments)args.push(arguments[i]);try{if(!slots)slots=this.getSlots();for(var i in slots){var slot=slots[i];slot.setTargeting('in2w_key15', frc(slot.__refreshCount||0));}}catch(er){}srv.__refresh.apply(srv,args);}.bind(srv);srv.__reportEvents=function(type,event){if(srv.__eventProxy && srv.__eventProxy[type]){for(var i in srv.__eventProxy[type]){try{srv.__eventProxy[type][i](event)}catch(er){}}}};srv.__addEventListener=srv.addEventListener;srv.addEventListener=function eventListenerProxy(type,listener){if(ves.indexOf(type)!==-1){try{this.__eventProxy=this.__eventProxy||{};if(!this.__eventProxy[type]){this.__eventProxy[type]=[listener];return srv.__addEventListener(type,function proxy(event){var slot=event.slot;if(slot.__skipEvent&&slot.__skipEvent[type]&&(new Date().getTime()-slot.__skipEvent[type]<3000)){delete slot.__skipEvent[type];return;}else{if(ies.indexOf(type)!==-1&&iye(slot)){return}for(var i in srv.__eventProxy[type]){try{srv.__eventProxy[type][i](event)}catch(er){}}}});}else{if(this.__eventProxy[type].indexOf(listener)===-1){this.__eventProxy[type].push(listener);}return srv;}}catch(er){}}return srv.__addEventListener(type,listener);}.bind(srv);srv.addEventListener('slotRequested',function(event){var slot=event.slot;delete slot.__responseInfo;slot.__refreshCount=slot.__refreshCount||0;++slot.__refreshCount;fs(slot,true);});srv.addEventListener('slotRenderEnded',function(event){fs(event.slot,false)});srv.__addEventListener('slotRequested',function(event){var slot=event.slot;try{var e=ge(slot);e.children[0].style.display='none';slot.__hide=1;}catch(er){}});srv.__addEventListener('slotRenderEnded',function(event){var slot = event.slot;if(slot.__hide){try{var e = ge(slot);if(iye(slot)){e.children[0].children[0].style.display='none';}if(e.children[0].style.width&&e.children[0].style['text-align']!=='center'){e.children[0].style.display='inline-block';}else{e.children[0].style.display = '';}}catch(e2){}delete slot.__hide;}});srv.__removeEventListener=srv.removeEventListener;srv.removeEventListener=function removeEventListenerProxy(type,listener){try{var proxy=this.__eventProxy;if(proxy&&proxy[type]){if(proxy[type].indexOf(listener)!==-1){proxy[type].splice(proxy[type].indexOf(listener),1);return true;}else{return false;}}}catch(er){}return srv.__removeEventListener(type,listener);}.bind(srv);});}\nybGPTHook(window, [4998674527]); \/\/ 4998674527 is intowowNonBillable advertiser id"}},"permutive":{"account":{"workspace_id":"f5b3be27-f789-4ef1-8867-37c67da5b361","api_key":"84c7e805-5ce9-41f4-b988-3529488bab1c"}},"outbrain":{"config":{"script":"","widget_id":"AR_1","amp_widget_ids":"AMP_1","src":"https:\/\/macworld.com"}},"nativo":{"config":{"script":"https:\/\/s.ntv.io\/serve\/load.js","insert_after_p":"18","insert_after_article":"20","insert_after_article_offset":"11"}},"subscribers":{"config":{"id":"","script":""}},"jw_player":{"config":{"insert_after_p":"4","insert_after_article":"4","player_library_id":"kAvvfxjt","amp_player_library_id":"wySF9V4I","floating_player_playlist_id":"O6tSMQIo","adscheduleid":"fQeHP23f","floating_player_adscheduleid":"fQeHP23f","description_url":"http:\/\/www.macworld.com","sz":"640x480|640x360","ciu_szs":"300x250,728x90","player_branding":"https:\/\/www.macworld.com\/wp-content\/uploads\/2021\/08\/MW-TV-logo.svg","bidding_partners":[{"vp_bp_name":"MediaGrid","vp_bp_id":"101101","vp_bp_pubid":"cpVDGgDj","jw_json_object":"{\"name\":\"MediaGrid\",\"id\":\"101101\",\"pubid\":\"cpVDGgDj\"}"},{"vp_bp_name":"IndexExchange","vp_bp_id":"808550","vp_bp_pubid":"183980","jw_json_object":"{\"name\":\"IndexExchange\",\"id\":\"808550\",\"pubid\":\"183980\"}"},{"vp_bp_name":"MediaNet","vp_bp_id":"582920176","vp_bp_pubid":"8CU30876H","jw_json_object":"{\"name\":\"MediaNet\",\"id\":\"582920176\",\"pubid\":\"8CU30876H\"}"},{"vp_bp_name":"jwdemand","jw_json_object":"{\"name\":\"jwdemand\",\"siteid\":\"qxSSQPwA\",\"placementId\":\"24399793\",\"publisherId\":\"cpVDGgDj\"}"},{"vp_bp_name":"PubMatic","vp_bp_pubid":"158441","vp_bp_id":"4763523","jw_json_object":"{\"name\":\"PubMatic\",\"pubid\":\"158441\",\"id\":\"4763523\"}"},{"jw_json_object":"{\"name\":\"AppNexus\",\"id\":\"32650150\"}"},{"jw_json_object":"{\"name\":\"Rubicon\",\"pubid\":\"10778\",\"siteId\":\"511844\",\"zoneId\":\"3373940\"}"},{"jw_json_object":"{\"name\":\"connatix\",\"placementId\":\"5e432c1d-9d00-4a73-849c-1270a5560f86\"}"}],"seconds_bt_ads":40,"jw_size_definitions":[{"name":"970","min_height":"","max_height":""},{"name":"728","min_height":"","max_height":""},{"name":"320","min_height":"","max_height":""}],"floorPriceCents":50,"ads_overrides":{"ads_json_object":""}}},"io_script":{"config":{"id":"5KcvHdQ51r5K","io_amp_id":"44394"}},"tds_phone_price":{"tds-phone-price-settings":{"fr_telecom_portal_token":"076ebc58-8bba-4a93-8a22-40bc9e27c45c","uk_telecom_portal_token":"6fb1fec4-fa7e-4833-a3bf-5e093a83c56d"}},"cp_thirdparty_vendors":[],"geo_edge_setting":{"config":{"enable_geo_edge":1,"geo_edge_key":"859c0fcb-feae-4616-afed-20011b559baa"}},"whistleout_phone_price":{"whistleout-phone-contract-settings":{"au_widget_builder_url":"https:\/\/techadvisor.whistleout.com.au\/MobilePhones","us_widget_builder_url":"https:\/\/techadvisor.whistleout.com\/CellPhones"}},"vendor_list_setting":{"vendor_list":{"infogram_vendor_id":"5fa55b45a9559348c754e36d","whistleout_inc":"64b54e0d68721106bd1c758a","whistleout_pty_ltd":"64b54e1cdba59a06b46c4e77","dutch_selection":"65003f86e5d06c05a059673c","flourish_vendor_id":"5ec7955faf2b474b46b7a09e","podigee_vendor_id":"5e717ad49a0b5040d5750815","taboola_vendor_id":"5e37fc3e56a5e6615502f9c4","facebook_vendor_id":"5e716fc09a0b5040d575080f","twitter_vendor_id":"5e71760b69966540e4554f01","youtube_vendor_id":"5e7ac3fae30e7d1bc1ebf5e8","instagram_vendor_id":"5e717c8e69966540e4554f05","apple_podcast_id":"6662cc7c8f27a504b458c4e6","gleam_vendor_id":"6373cb50134bd404d52b7d1a","tiktok_vendor_id":"5e7f6927b8e05c4e491e7380","giphy_vendor_id":"5eb97863c9a2c12e5cfa5127","reddit_vendor_id":"5e7f6927b8e05c4e491e7381","google_inc_vendor_id":"5e7e1298b8e05c4854221be9","spotify_vendor_id":"5e7ad2ef1affb21bd098ccef","spotifyltd_vendor_id":"5e7f6927b8e05c111d01b40f","bluesky_vendor_id":"6740854c2e8720073f0be41e"}},"taboola":{"config":{"taboola_script":"\/\/cdn.taboola.com\/libtrc\/foundry-network\/loader.js","taboola_widget_id":"alternating-thumbnails-a","mode_name":"alternating-thumbnails-stream-macworld","default_position_mid_article":"6","mid_artcile_placements":[{"name":"mid_article","template":"mid_article","size_definitions":[{"breakpoint":"970","insert_after_x_instructional":"6","insert_after_x_informational":"6","insert_after_x_transactional":"6"},{"breakpoint":"728","insert_after_x_instructional":"6","insert_after_x_informational":"6","insert_after_x_transactional":"6"},{"breakpoint":"320","insert_after_x_instructional":"6","insert_after_x_informational":"6","insert_after_x_transactional":"6"}]}],"web_push_script":"https:\/\/cdn.taboola.com\/webpush\/publishers\/1767837\/taboola-push-sdk.js"}},"miso":{"miso_placements":{"miso_smart_answers":[{"name":"miso-smart-answers","template":"smart_answers","size_definitions":[{"breakpoint":"970","insert_after_p_instructional":"10","insert_after_p_informational":"10","insert_after_p_transactional":"10"},{"breakpoint":"728","insert_after_p_instructional":"10","insert_after_p_informational":"10","insert_after_p_transactional":"10"},{"breakpoint":"320","insert_after_p_instructional":"10","insert_after_p_informational":"10","insert_after_p_transactional":"10"}]}],"miso_ipp":[{"name":"miso-ipp","template":"ipp","size_definitions":[{"breakpoint":"970","insert_after_p_instructional":"14","insert_after_p_informational":"14","insert_after_p_transactional":"14"},{"breakpoint":"728","insert_after_p_instructional":"14","insert_after_p_informational":"14","insert_after_p_transactional":"14"},{"breakpoint":"320","insert_after_p_instructional":"6","insert_after_p_informational":"6","insert_after_p_transactional":"6"}]}],"default_position_smart_answers":"10","default_position_ipp":"14"}},"miso_deal_details":{"miso_deal_config":{"BUCKET_NAME":"idg-b2c-data.askmiso.com","US_KEY":"techconnect_deals_us_generated_latest.json","UK_KEY":"techconnect_deals_uk_generated_latest.json","REGION":"us-west-2"}},"overlays_privacy_policies":{"consent_overlays":{"english_overlay_message":"<div class=\"external-embed-wrapper hide-overlay-${platform}\"><div class=\"overlay-div\"><h4>External content from ${platformName}<\/h4><p>This article contains external content from ${platformName}. To view the content, we request your permission.<\/p><a class=\"consent-button\" data-cmp=\"${cmp}\" data-callback=\"${callback}\" data-type=\"hide-overlay-${platform}\" href=\"javascript:void(0)\">Show external content from ${platformName}<\/a><p>By clicking on \u201cShow external content from ${platformName}\u201d I agree that the content will be displayed to me. This allows personal data to be transmitted to ${platformName} and other third parties. You can find more information about this in our <a target=\"_blank\" href=\"${foundryPPLink}\">data protection declaration<\/a> and <a target=\"_blank\" href=\"${privacyPolicyLink}\">${platformName}<\/a>\u2019s Privacy Policy.<p><\/div><\/div>","german_overlay_message":"<div class=\"external-embed-wrapper hide-overlay-${platform}\"><div class=\"overlay-div\"><h4>Externer Inhalt von ${platformName}<\/h4><p>An dieser Stelle hat die Redaktion einen zum Inhalt des Artikels passenden externen Inhalt von ${platformName} platziert. Damit dieser angezeigt werden kann, ben\u00f6tigen wir Ihre Zustimmung.<\/p><p><a class=\"consent-button\" data-cmp=\"${cmp}\" data-callback=\"${callback}\" data-type=\"hide-overlay-${platform}\" href=\"javascript:void(0)\" style=\"border: 2px solid black;padding: 5px 10px;color: black;\">Externen Inhalt von ${platformName} anzeigen<\/a><\/p><p>Mit einem Klick auf \"Externe Inhalte von ${platformName} anzeigen\" erkl\u00e4re ich mich damit einverstanden, dass mir der Inhalt angezeigt wird. Dadurch k\u00f6nnen personenbezogene Daten an ${platformName} und andere Drittanbieter \u00fcbermittelt werden. Mehr Informationen dazu finden Sie in unserer <a target=\"_blank\" href=\"${foundryPPLink}\">Datenschutzerkl\u00e4rung<\/a> und unter <a target=\"_blank\" href=\"${privacyPolicyLink}\">${platformName}<\/a>\u2019s.<p><\/div><\/div>","sweden_overlay_message":"<div class=\"external-embed-wrapper hide-overlay-${platform}\"><div class=\"overlay-div\"><h4>Externt inneh\u00e5ll fr\u00e5n ${platformName}<\/h4><p>Den h\u00e4r artikeln inneh\u00e5ller externt inneh\u00e5ll fr\u00e5n ${platformName}. F\u00f6r att se inneh\u00e5llet ber vi om ditt tillst\u00e5nd.<\/p><p><a class=\"consent-button\" data-cmp=\"${cmp}\" data-callback=\"${callback}\" data-type=\"hide-overlay-${platform}\" href=\"javascript:void(0)\" style=\"border: 2px solid black;padding: 5px 10px;color: black;\">Visa externt inneh\u00e5ll fr\u00e5n ${platformName}<\/a><\/p><p>Genom att klicka p\u00e5 \"Visa externt inneh\u00e5ll fr\u00e5n ${platformName}\" godk\u00e4nner jag att inneh\u00e5llet kommer att visas f\u00f6r mig. Detta g\u00f6r att personuppgifter kan \u00f6verf\u00f6ras till ${platformName} och tredje part. Du kan hitta mer information om detta i v\u00e5r <a target=\"_blank\" href=\"${foundryPPLink}\">dataskyddsdeklaration<\/a> and <a target=\"_blank\" href=\"${privacyPolicyLink}\">${platformName}<\/a>\u2019s sekretesspolicy.<p><\/div><\/div>","english_generic_overlay_message":"<div class=\"external-embed-wrapper custom-html-consent-notice-${platform}\"><div class=\"overlay-div\"><h4>Allow External content<\/h4><p>This article contains external content in this section. To view the content, we request your permission.<\/p><a class=\"consent-button-generic\" platform=\"${platform}\" href=\"javascript:void(0)\">Show external content<\/a><p>By clicking on \u201cShow external content\u201d, I agree that the content will be displayed to me. This allows personal data to be transmitted to other third parties. You can find more information about this in our <a target=\"_blank\" href=\"${foundryPPLink}\">data protection declaration<\/a> and the external source\u2019s privacy policy.<p><\/div><\/div>","german_generic_overlay_message":"<div class=\"external-embed-wrapper custom-html-consent-notice-${platform}\"><div class=\"overlay-div\"><h4>Allow External content<\/h4><p>This article contains external content in this section. To view the content, we request your permission.<\/p><a class=\"consent-button-generic\" platform=\"${platform}\" href=\"javascript:void(0)\">Show external content<\/a><p>By clicking on \u201cShow external content\u201d, I agree that the content will be displayed to me. This allows personal data to be transmitted to other third parties. You can find more information about this in our <a target=\"_blank\" href=\"${foundryPPLink}\">data protection declaration<\/a> and the external source\u2019s privacy policy.<p><\/div><\/div>","sweden_generic_overlay_message":"<div class=\"external-embed-wrapper custom-html-consent-notice-${platform}\"><div class=\"overlay-div\"><h4>Allow External content<\/h4><p>This article contains external content in this section. To view the content, we request your permission.<\/p><a class=\"consent-button-generic\" platform=\"${platform}\" href=\"javascript:void(0)\">Show external content<\/a><p>By clicking on \u201cShow external content\u201d, I agree that the content will be displayed to me. This allows personal data to be transmitted to other third parties. You can find more information about this in our <a target=\"_blank\" href=\"${foundryPPLink}\">data protection declaration<\/a> and the external source\u2019s privacy policy.<p><\/div><\/div>"},"foundry_privacy_policies":{"contentpass":"https:\/\/foundryco.com\/about-us\/privacy-compliance\/","gdpr":"https:\/\/foundryco.com\/about-us\/privacy-compliance\/","ccpa":"https:\/\/foundryco.com\/about-us\/privacy-compliance\/"},"instagram_privacy_policies":{"contentpass":"https:\/\/privacycenter.instagram.com\/policy\/version\/25238980265745528\/","gdpr":"https:\/\/privacycenter.instagram.com\/policy\/version\/25238980265745528\/","ccpa":"https:\/\/privacycenter.instagram.com\/policy\/version\/25238980265745528\/"},"facebook_privacy_policies":{"contentpass":"https:\/\/www.facebook.com\/privacy\/policy\/version\/25238980265745528","gdpr":"https:\/\/www.facebook.com\/privacy\/policy\/version\/25238980265745528","ccpa":"https:\/\/www.facebook.com\/privacy\/policy\/version\/25238980265745528"},"twitter_privacy_policies":{"contentpass":"https:\/\/x.com\/de\/privacy","gdpr":"https:\/\/x.com\/en\/privacy","ccpa":"https:\/\/x.com\/en\/privacy"},"toutube_privacy_policies":{"contentpass":"https:\/\/support.google.com\/youtube\/answer\/10364219?hl=de","gdpr":"https:\/\/support.google.com\/youtube\/answer\/10364219?hl=en-GB","ccpa":"https:\/\/support.google.com\/youtube\/answer\/10364219?hl=en-GB"},"tiktok_privacy_policies":{"contentpass":"https:\/\/www.tiktok.com\/legal\/page\/eea\/privacy-policy\/de","gdpr":"https:\/\/www.tiktok.com\/legal\/page\/eea\/privacy-policy\/en","ccpa":"https:\/\/www.tiktok.com\/legal\/page\/us\/privacy-policy\/en"},"gleam_privacy_policies":{"contentpass":"https:\/\/gleam.io\/privacy","gdpr":"https:\/\/gleam.io\/privacy","ccpa":"https:\/\/gleam.io\/privacy"},"infogram_privacy_policies":{"contentpass":"https:\/\/infogram.com\/privacy","gdpr":"https:\/\/infogram.com\/privacy","ccpa":"https:\/\/infogram.com\/privacy"},"apple_podcast_privacy_policies":{"contentpass":"https:\/\/www.apple.com\/legal\/privacy\/data\/de\/apple-podcasts\/","gdpr":"https:\/\/www.apple.com\/legal\/privacy\/data\/en\/apple-podcasts","ccpa":"https:\/\/www.apple.com\/legal\/privacy\/data\/en\/apple-podcasts"},"whistleout_privacy_policies":{"contentpass":"https:\/\/www.whistleout.com\/Privacy","gdpr":"https:\/\/www.whistleout.com\/Privacy","ccpa":"https:\/\/www.whistleout.com\/Privacy"},"dutch_selection_privacy_policies":{"contentpass":"https:\/\/www.thedutchselection.com\/pages\/privacy","gdpr":"https:\/\/www.thedutchselection.com\/pages\/privacy","ccpa":"https:\/\/www.thedutchselection.com\/pages\/privacy"},"flourish_privacy_policies":{"contentpass":"https:\/\/flourish.studio\/privacy\/","gdpr":"https:\/\/flourish.studio\/privacy\/","ccpa":"https:\/\/flourish.studio\/privacy\/"},"jetpack_podcast_player_privacy_policies":{"contentpass":"https:\/\/jetpack.com\/support\/jetpack-blocks\/podcast-player-block\/","gdpr":"https:\/\/jetpack.com\/support\/jetpack-blocks\/podcast-player-block\/","ccpa":"https:\/\/jetpack.com\/support\/jetpack-blocks\/podcast-player-block\/"},"vimeo_privacy_policies":{"contentpass":"https:\/\/vimeo.com\/privacy","gdpr":"https:\/\/vimeo.com\/privacy","ccpa":"https:\/\/vimeo.com\/privacy"},"soundcloud_privacy_policies":{"contentpass":"https:\/\/soundcloud.com\/pages\/privacy","gdpr":"https:\/\/soundcloud.com\/pages\/privacy","ccpa":"https:\/\/soundcloud.com\/pages\/privacy"},"giphy_privacy_policies":{"contentpass":"https:\/\/support.giphy.com\/hc\/en-us\/articles\/360032872931-GIPHY-Privacy-Policy ","gdpr":"https:\/\/support.giphy.com\/hc\/en-us\/articles\/360032872931-GIPHY-Privacy-Policy ","ccpa":"https:\/\/support.giphy.com\/hc\/en-us\/articles\/360032872931-GIPHY-Privacy-Policy "},"reddit_privacy_policies":{"contentpass":"https:\/\/www.reddit.com\/policies\/privacy-policy ","gdpr":"https:\/\/www.reddit.com\/policies\/privacy-policy ","ccpa":"https:\/\/www.reddit.com\/policies\/privacy-policy "},"newsletter_signup_policies":{"contentpass":"https:\/\/www.macworld.com\/about\/privacy","gdpr":"https:\/\/www.macworld.com\/about\/privacy","ccpa":"https:\/\/www.macworld.com\/about\/privacy"},"spotify_privacy_policies":{"contentpass":"https:\/\/www.spotify.com\/de-en\/legal\/privacy-policy\/","gdpr":"https:\/\/www.spotify.com\/de-en\/legal\/privacy-policy\/","ccpa":"https:\/\/www.spotify.com\/de-en\/legal\/privacy-policy\/"},"bluesky_privacy_policies":{"contentpass":"https:\/\/bsky.social\/about\/support\/privacy-policy","gdpr":"https:\/\/bsky.social\/about\/support\/privacy-policy","ccpa":"https:\/\/bsky.social\/about\/support\/privacy-policy "}},"editionsJwplayer":{"isEditionEnabled":true,"jwPlayerSettings":{"insert_after_p":"4","insert_after_article":"4","amp_player_library_id":"wySF9V4I","floating_player_playlist_id":"O6tSMQIo","seconds_bt_ads":40}}},"GPT":{"ad_slot_name":"software-professional_section","prefix":"\/8456\/IDG.US_CSMB_Macworld.com\/","targeting":{"articleId":"209863","author":"Christopher Breen","browser":"Mozilla\/4.0(compatible;MSIE7.0;WindowsNT6.0;SLCC1;.NETCLR2.0.50727;.NETCLR3.0.04506;.NETCLR3.5.21022;.NETCLR1.0.3705;.NETCLR1.1.4322)","templateType":"article","categorySlugs":"software-professional","tags":"","categoryIds":"12","env":null,"productId":"243123","goldenIds":"24","channel":"software-professional","fireplace":"false","type":"how-to","typeId":"18","sponsored":"false","video-autoplay":"true","manufactuer":"amazon","url":"https:\/\/www.macworld.com\/article\/209863\/howto-rip-cds.html","zone":"how-to-article\/professional-software","wpsponsorshipId":""},"isViaAdapex":true},"geolocation":"SG","suppress_monetization":{},"supressBb2bRightrail":"","products":{"243123":{"name":"iTunes 10","featured_media":null,"all_region_info":{"US":{"pricing":{"currency":"USD","price_options":"","price":null},"product_info":{"name":"iTunes 10","append_manufacturer":true}}},"geo_info":[],"direct_links":[false],"global_info":null,"reviews":{"207495":{"type":"primary","timestamp":1661347424,"primary":243123,"publication":[{"term_id":3,"name":"Macworld","slug":"macworld","term_group":0,"term_taxonomy_id":3,"taxonomy":"publication","description":"","parent":2,"count":88260,"filter":"raw"},{"term_id":2,"name":"US-Default","slug":"us-default","term_group":0,"term_taxonomy_id":2,"taxonomy":"publication","description":"","parent":0,"count":180704,"filter":"raw"}],"editors_choice":false,"rating":3.5,"formattedTime":"Sep 2, 2010 9:30 am UTC","status":"publish","languages":23323,"lang_title":"English","lang_slug":"en","permalink":"https:\/\/www.macworld.com\/article\/207495\/iutnes10_1stlook.html","active":true},"207562":{"type":"primary","timestamp":1728561392,"primary":243123,"publication":[{"term_id":3,"name":"Macworld","slug":"macworld","term_group":0,"term_taxonomy_id":3,"taxonomy":"publication","description":"","parent":2,"count":95115,"filter":"raw"},{"term_id":2,"name":"US-Default","slug":"us-default","term_group":0,"term_taxonomy_id":2,"taxonomy":"publication","description":"","parent":0,"count":402224,"filter":"raw"}],"editors_choice":false,"rating":3.5,"formattedTime":"Sep 7, 2010 1:01 pm UTC","status":"publish","languages":23323,"lang_title":"English","lang_slug":"en"}},"terms":{"category":[{"id":7915,"name":"Professional Software","slug":"software-professional"}],"territory":[{"id":9910,"name":"United states","slug":"us"}],"manufacturer":[{"id":9934,"name":"Apple","slug":"apple"}],"origin":[{"id":17520,"name":"OneCMS","slug":"onecms"}]},"labels":{"rrp_field_label":"Price When Reviewed","best_prices_field_label":"Best Prices Today"},"media_attributes":{"srcset":"","sizes":""},"attributes":{"data-vars-product-name":"iTunes 10","data-vars-product-id":"243123","data-vars-category":"Professional Software","data-vars-manufacturer-id":"9934","data-vars-manufacturer":"Apple","data-vars-vendor":"","data-vars-po":""}}},"vendor_pricing":{"amazon":[]},"APS_UNUSED":{"pubID":"3051","scriptURL":"https:\/\/www.macworld.com\/wp-content\/client-mu-plugins\/idg-third-party\/dist\/scripts\/apstag_library.js"},"isB2B":"","isSingle":"1","isCPEnabled":"","isEuVisitor":"","vendorList":{"infogram":"5fa55b45a9559348c754e36d","whistleout_inc":"64b54e0d68721106bd1c758a","whistleout_pty_ltd":"64b54e1cdba59a06b46c4e77","dutch_selection":"65003f86e5d06c05a059673c","flourish":"5ec7955faf2b474b46b7a09e","podigee":"5e717ad49a0b5040d5750815","taboola":"5e37fc3e56a5e6615502f9c4","facebook":"5e716fc09a0b5040d575080f","instagram":"5e717c8e69966540e4554f05","youtube":"5e7ac3fae30e7d1bc1ebf5e8","twitter":"5e71760b69966540e4554f01","apple_podcast":"6662cc7c8f27a504b458c4e6","gleam":"6373cb50134bd404d52b7d1a","tiktok":"5e7f6927b8e05c4e491e7380","giphy":"5eb97863c9a2c12e5cfa5127","reddit":"5e7f6927b8e05c4e491e7381","spotify":"5e7ad2ef1affb21bd098ccef","spotifyltd":"5e7f6927b8e05c111d01b40f","bluesky":"6740854c2e8720073f0be41e"}}; </script> <script id="third-party-integrations-script-js-before"> window.dataLayer = window.dataLayer || []; window.dataLayer.push({"adBlockerEnabled":true,"arenaId":"","audience":"consumer","ccpaOptedOut":"false","environment":"wp_production","sessionNumber":"@TODO","firstSessionDate":"@TODO","lastSessionDate":"@TODO","timestamp":1740152355,"url":"https:\/\/www.macworld.com\/article\/209863\/howto-rip-cds.html","triblioPixelCode":"","isAdapexActive":true,"prodIds":"243123","prodCategories":"Professional Software","prodManufacturers":"Apple","prodNames":"iTunes 10","prodVendors":"","productBlocks":"Product chart","categories":"Professional Software","categoryIds":"12","categoriesSlugs":"software-professional","channel":"software-professional","primaryCategory":"Professional Software","primaryAncestorCategoryList":"Professional Software","primaryAncestorCategoryListSlugs":"software-professional","ancestorGoldenCategories":"software-professional","goldenTaxonomyIdPrimary":"24","gtaxPrimaryIdsList":"24","gtaxPrimarySlugsList":"software-professional","gtaxIdList":"24","gtaxList":"Professional Software","bcGtaxIdList":[24],"bcGtaxList":["Professional Software"],"articleId":"209863","author":"Christopher Breen","translation":"no","translationOriginalArticleId":"","translationOriginalPublication":"","translationOriginalLanguage":"","translationOriginalBrand":"","articleTitle":"How to rip CDs with iTunes","articleType":"default","isBlog":"true","blogname":"Playlist","blogId":"","brandpost":"false","content_type":"How-To","datePublished":"2011-01-11","dateUpdate":"2011-01-11","dateTimePublished":"2011-01-11T21:00:00-08:00","dateTimeUpdate":"2011-01-11T21:00:00-08:00","daysSincePublished":"5154","daysSinceUpdated":"5154","description":"You already have a load of music just waiting to make its way to your computer and iOS device--your CD library. Here are the steps for turning your discs into digital files.","displayType":"article","fireplace":"false","pageNumber":"1","page_type":"article","platform":"web","podcastSponsored":"false","property":"macworld","source":"macworld","sponsorName":"","sponsorshipId":"","tags":[],"legacyCmsId":"1156861","language":"English","edition":"en-us","articleLocale":"global","isInsiderContent":"false","insiderSignedIn":"true","adSuppression":"false","BCUID":"","legacyCmsName":"OneCMS","idgAppID":{"SITE_TYPE":[{"type":"delivery","site":"macworld.com","sourcecms":"onecms","connectedhub":"b2c","staff":"Macworld Staff","brand":"Macworld"}],"IDG_APP_ID":"2568"}}); // GDPR Stub function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}!function(){for(var t,e,o=[],n=window,r=n;r;){try{if(r.frames.__tcfapiLocator){t=r;break}}catch(t){}if(r===n.top)break;r=n.parent}t||(function t(){var e=n.document,o=!!n.frames.__tcfapiLocator;if(!o)if(e.body){var r=e.createElement("iframe");r.style.cssText="display:none",r.name="__tcfapiLocator",e.body.appendChild(r)}else setTimeout(t,5);return!o}(),n.__tcfapi=function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];if(!n.length)return o;"setGdprApplies"===n[0]?n.length>3&&2===parseInt(n[1],10)&&"boolean"==typeof n[3]&&(e=n[3],"function"==typeof n[2]&&n[2]("set",!0)):"ping"===n[0]?"function"==typeof n[2]&&n[2]({gdprApplies:e,cmpLoaded:!1,cmpStatus:"stub"}):o.push(n)},n.addEventListener("message",(function(t){var e="string"==typeof t.data,o={};if(e)try{o=JSON.parse(t.data)}catch(t){}else o=t.data;var n="object"===_typeof(o)?o.__tcfapiCall:null;n&&window.__tcfapi(n.command,n.version,(function(o,r){var a={__tcfapiReturn:{returnValue:o,success:r,callId:n.callId}};t&&t.source&&t.source.postMessage&&t.source.postMessage(e?JSON.stringify(a):a,"*")}),n.parameter)}),!1))}(); window.__gpp_addFrame=function(e){if(!window.frames[e])if(document.body){var t=document.createElement("iframe");t.style.cssText="display:none",t.name=e,document.body.appendChild(t)}else window.setTimeout(window.__gpp_addFrame,10,e)},window.__gpp_stub=function(){var e=arguments;if(__gpp.queue=__gpp.queue||[],__gpp.events=__gpp.events||[],!e.length||1==e.length&&"queue"==e[0])return __gpp.queue;if(1==e.length&&"events"==e[0])return __gpp.events;var t=e[0],p=e.length>1?e[1]:null,s=e.length>2?e[2]:null;if("ping"===t)p({gppVersion:"1.1",cmpStatus:"stub",cmpDisplayStatus:"hidden",signalStatus:"not ready",supportedAPIs:["2:tcfeuv2","5:tcfcav1","6:uspv1","7:usnatv1","8:uscav1","9:usvav1","10:uscov1","11:usutv1","12:usctv1"],cmpId:0,sectionList:[],applicableSections:[],gppString:"",parsedSections:{}},!0);else if("addEventListener"===t){"lastId"in __gpp||(__gpp.lastId=0),__gpp.lastId++;var n=__gpp.lastId;__gpp.events.push({id:n,callback:p,parameter:s}),p({eventName:"listenerRegistered",listenerId:n,data:!0,pingData:{gppVersion:"1.1",cmpStatus:"stub",cmpDisplayStatus:"hidden",signalStatus:"not ready",supportedAPIs:["2:tcfeuv2","5:tcfcav1","6:uspv1","7:usnatv1","8:uscav1","9:usvav1","10:uscov1","11:usutv1","12:usctv1"],cmpId:0,sectionList:[],applicableSections:[],gppString:"",parsedSections:{}}},!0)}else if("removeEventListener"===t){for(var a=!1,i=0;i<__gpp.events.length;i++)if(__gpp.events[i].id==s){__gpp.events.splice(i,1),a=!0;break}p({eventName:"listenerRemoved",listenerId:s,data:a,pingData:{gppVersion:"1.1",cmpStatus:"stub",cmpDisplayStatus:"hidden",signalStatus:"not ready",supportedAPIs:["2:tcfeuv2","5:tcfcav1","6:uspv1","7:usnatv1","8:uscav1","9:usvav1","10:uscov1","11:usutv1","12:usctv1"],cmpId:0,sectionList:[],applicableSections:[],gppString:"",parsedSections:{}}},!0)}else"hasSection"===t?p(!1,!0):"getSection"===t||"getField"===t?p(null,!0):__gpp.queue.push([].slice.apply(e))},window.__gpp_msghandler=function(e){var t="string"==typeof e.data;try{var p=t?JSON.parse(e.data):e.data}catch(e){p=null}if("object"==typeof p&&null!==p&&"__gppCall"in p){var s=p.__gppCall;window.__gpp(s.command,(function(p,n){var a={__gppReturn:{returnValue:p,success:n,callId:s.callId}};e.source.postMessage(t?JSON.stringify(a):a,"*")}),"parameter"in s?s.parameter:null,"version"in s?s.version:"1.1")}},"__gpp"in window&&"function"==typeof window.__gpp||(window.__gpp=window.__gpp_stub,window.addEventListener("message",window.__gpp_msghandler,!1),window.__gpp_addFrame("__gppLocator")); // CCPA Stub (function () { var e = false; var c = window; var t = document; function r() { if (!c.frames["__uspapiLocator"]) { if (t.body) { var a = t.body; var e = t.createElement("iframe"); e.style.cssText = "display:none"; e.name = "__uspapiLocator"; a.appendChild(e) } else { setTimeout(r, 5) } } } r(); function p() { var a = arguments; __uspapi.a = __uspapi.a || []; if (!a.length) { return __uspapi.a } else if (a[0] === "ping") { a[2]({ gdprAppliesGlobally: e, cmpLoaded: false }, true) } else { __uspapi.a.push([].slice.apply(a)) } } function l(t) { var r = typeof t.data === "string"; try { var a = r ? JSON.parse(t.data) : t.data; if (a.__cmpCall) { var n = a.__cmpCall; c.__uspapi(n.command, n.parameter, function (a, e) { var c = { __cmpReturn: { returnValue: a, success: e, callId: n.callId } }; t.source.postMessage(r ? JSON.stringify(c) : c, "*") }) } } catch (a) { } } if (typeof __uspapi !== "function") { c.__uspapi = p; __uspapi.msgHandler = l; c.addEventListener("message", l, false) } })(); // Google Tag Manager (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-5JGZ3LH'); // Permutive Stub !function(n,e,i){if(!n){n=n||{},window.permutive=n,n.q=[],n.config={}||{},n.config.apiKey=e,n.config.environment=n.config.environment||"production";for(var o=["addon","identify","track","trigger","query","segment","segments","ready","on","once","user","consent"],r=0;r<o.length;r++){var t=o[r];n[t]=function(e){return function(){var i=Array.prototype.slice.call(arguments,0);n.q.push({functionName:e,arguments:i})}}(t)}}}( window.permutive, '84c7e805-5ce9-41f4-b988-3529488bab1c' ); window.googletag=window.googletag||{},window.googletag.cmd=window.googletag.cmd||[],window.googletag.cmd.push(function(){if(0===window.googletag.pubads().getTargeting("permutive").length){var g=window.localStorage.getItem("_pdfps");window.googletag.pubads().setTargeting("permutive",g?JSON.parse(g):[])}}); let categorySlug = 'software-professional'; const stripOutIllegal = s => s.replace(/[~'"=!+#;^()<>&[]]/g,''); window.ntvConfig = window.ntvConfig || {} ; window.ntvConfig.keyValues = window.ntvConfig.keyValues || {}; const segs = localStorage.getItem('_pnativo'); if (segs) { window.ntvConfig.keyValues.permutive = JSON.parse(segs).join(","); } const metaKeywordsTag = document.querySelector("meta[name='keywords']"); if ( metaKeywordsTag && (metaKeywordsTag.hasAttribute('content')) ) { const kwds = metaKeywordsTag.content.split(',').filter(kw => kw.length <= 40); window.ntvConfig.keyValues.contextual = stripOutIllegal(kwds.join(',')); } [categorySlug].forEach(function(val) { if (val.length !== 0) { window.ntvConfig.keyValues.channel = stripOutIllegal(val); } }); if (typeof(window.ntvConfig.keyValues.channel) === "undefined") { window.ntvConfig.keyValues.channel = ""; } </script> <script> window._io_config = window?._io_config || {}; window._io_config["0.2.0"] = window?._io_config["0.2.0"] || []; window._io_config["0.2.0"].push({"page_url":"https:\/\/www.macworld.com\/article\/209863\/howto-rip-cds.html","page_url_canonical":"https:\/\/www.macworld.com\/article\/209863\/howto-rip-cds.html","page_title":"How to rip CDs with iTunes | Macworld","page_type":"article","page_language":"en","language_type":"English","article_authors":["Christopher Breen"],"article_type":"How-To","article_publication_date":"Tue, 11 Jan 2011 21:00:00 PST","article_categories":["Professional Software"]}); var defaultEditionObj = {"defaultEdition":"en-us","editionConfig":{"editions_supported":{"is_editions_supported":true,"country_mapping_json":"{\n\"US\":\"en-us\",\n\"GB\":\"en-gb\"\n}"},"language_supported":{"is_language_supported":true,"default_language_edition":{"en":"en-us","es":""},"edition_hreflang_suffix":{"en-gb":"gb","en-us":"us","es-es":""}},"active_editions_field":{"active_editions":["en-gb","en-us"]},"default_edition_field":{"default_edition":"en-us"},"active_Languages_field":{"active_Languages":["en"]}},"browserLanguage":"en","currentEdition":"en-us","pageSlug":"en-us","ajaxurl":"https:\/\/www.macworld.com\/wp-admin\/admin-ajax.php","nonce":"1b05b1c6c5","isBrandpostPage":false}; </script> <script src="https://www.macworld.com/wp-content/client-mu-plugins/idg-third-party/dist/scripts/index.js?ver=1739908368" id="third-party-integrations-script-js"></script> <script type="text/javascript" src="https://www.macworld.com/_static/??-eJydzMENgzAMAMCFMG6F1JJHxSxpHFFHSbBsI8T2MENf9zs8BNLWPXfHVPkG2g5S95W7IdMK/mMlkKh+IrE5WlIWNyyH1HhmHYsN+H8jmr9MEMnuaGmf53sK4TFPr7lcaIY56w==" ></script><script async src="https://cdn.onthe.io/io.js/5KcvHdQ51r5K?ver=1" id="io_script_code-js"></script> <script type="text/javascript" src="https://www.macworld.com/_static/??-eJzTLy/QzcxLzilNSS3WzwKiwtLUokoopZebmaeXVayjj0+Rbm5melFiSSpUsX2uraG5saWRpYmxoUkWAK+cIiM=" ></script><script src="https://unpkg.com/ulid@2.3.0/dist/index.umd.js" id="ulid-script-js"></script> <script id="ulid-script-js-after"> window.IDG.setItemToDataLayer('affiliateUlid', ULID.ulid()); </script> <script type="text/javascript"> window.blocksForConsent = { "instagram": { "platform": "instagram", "platformName": "Instagram.com", "selector": ".wp-block-embed-instagram", "privacyPolicyLink": 'instagram_privacy_policies', "callback": "instagramCallback()" }, "facebook": { "platform": "facebook", "platformName": "Facebook.com", "selector": ".embed_url_facebook", "privacyPolicyLink": 'facebook_privacy_policies', "callback": "loadFacebookEmbed()" }, "twitter": { "platform": "twitter", "platformName": "Twitter.com", "selector": ".wp-block-embed-twitter", "privacyPolicyLink": 'twitter_privacy_policies', "callback": "twitterCallback()" }, "youtube": { "platform": "youtube", "platformName": "Youtube.com", "selector": ".wp-block-embed-youtube", "privacyPolicyLink": 'toutube_privacy_policies', "callback": "youtubeCallback()" }, "tiktok": { "platform": "tiktok", "platformName": "Tiktok.com", "selector": ".wp-block-embed-tiktok", "privacyPolicyLink": 'tiktok_privacy_policies', "callback": "tiktokCallback()" }, "gleam": { "platform": "gleam", "platformName": "Gleam.io", "selector": ".gleam_embed", "privacyPolicyLink": 'gleam_privacy_policies', "callback": "gleamCallback()" }, "infogram": { "platform": "infogram", "platformName": "Infogram.com", "selector": ".infogram-embed", "privacyPolicyLink": 'infogram_privacy_policies', "callback": "infogramCallback()" }, "applepodcast": { "platform": "apple", "platformName": "Apple.com", "selector": ".apple_podcasts iframe", "privacyPolicyLink": 'apple_podcast_privacy_policies', "callback": "loadApplePodcastplayer()" }, "whistleout": { "platform": "whistleout", "platformName": "Whistleout.com", "selector": ".whistleout_placeholder", "privacyPolicyLink": 'whistleout_privacy_policies', "callback": "whistleoutCallback()" }, "dutchselection": { "platform": "dutchselection", "platformName": "Thedutchselection.com", "selector": "#tds-widget", "privacyPolicyLink": 'dutch_selection_privacy_policies', "callback": "loadDutchBlockConfig()" }, "flourish": { "platform": "flourish", "platformName": "Flourish.studio", "selector": ".flourish-chart", "privacyPolicyLink": 'flourish_privacy_policies', "callback": "flourishCallback()" }, "jetpackpodcastplayer": { "platform": "jetpack", "platformName": "Jetpack.com", "selector": ".wp-block-jetpack-podcast-player", "privacyPolicyLink": 'jetpack_podcast_player_privacy_policies', "callback": "loadPodcastplayer()" }, "vimeo": { "platform": "vimeo", "platformName": "Vimeo.com", "selector": ".wp-block-embed-vimeo", "privacyPolicyLink": 'vimeo_privacy_policies', "callback": "vimeoCallback()" }, "soundcloud": { "platform": "soundcloud", "platformName": "Soundcloud.com", "selector": ".wp-block-embed-soundcloud", "privacyPolicyLink": 'soundcloud_privacy_policies', "callback": "soundcloudCallback()" }, "giphy": { "platform": "giphy", "platformName": "Giphy.com", "selector": ".wp-block-jetpack-gif", "privacyPolicyLink": 'giphy_privacy_policies', "callback": "giphyCallback()" }, "reddit": { "platform": "reddit", "platformName": "Reddit.com", "selector": ".wp-block-embed-reddit", "privacyPolicyLink": 'reddit_privacy_policies', "callback": "redditCallback()" }, "newsletterSignup": { "platform": "newsletterSignup", "platformName": "Newsletter Signup", "selector": "#newslettersignup", "privacyPolicyLink": 'newsletter_signup_policies', "callback": "newsletterCallback()" }, "spotify": { "platform": "spotify", "platformName": "Spotify.com", "selector": ".wp-block-embed-spotify", "privacyPolicyLink": 'spotify_privacy_policies', "callback": "spotifyCallback()" }, "bluesky": { "platform": "bluesky", "platformName": "Bluesky.com", "selector": ".wp-block-embed-bluesky", "privacyPolicyLink": 'bluesky_privacy_policies', "callback": "blueskyCallback()" } }; function getOverlayMessage(platform, platformName, privacyPolicyLink, foundryPPLink, callback, cmpType) { let customHTMLTextOverlay = window?.IDG?.settings?.overlays_privacy_policies?.consent_overlays?.english_overlay_message ?? ''; customHTMLTextOverlay = customHTMLTextOverlay.replace(/\$\{platformName\}/g, platformName).replace(/\$\{privacyPolicyLink\}/g, privacyPolicyLink).replace(/\$\{foundryPPLink\}/g, foundryPPLink).replace(/\$\{platform\}/g, platform).replace(/\$\{callback\}/g, callback).replace(/\$\{cmp\}/g, cmpType); return customHTMLTextOverlay; } function setOverlayCookie(name, value, days) { let expires = ""; if (days) { const date = new Date(); date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); expires = "; expires=" + date.toUTCString(); } document.cookie = name + "=" + (value || "") + expires + "; path=/"; } function getOverlayCookie(name) { const nameEQ = name + "="; const ca = document.cookie.split(';'); for(let i = 0; i < ca.length; i++) { let c = ca[i]; while (c.charAt(0) === ' ') c = c.substring(1, c.length); if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length); } return null; } function renderOverlay(element, platform, platformName, ppLink, foundryPPLink, callback, cmpType) { const cookieName = `hide-overlay-${platform}`; const consentGiven = getOverlayCookie(cookieName); if (consentGiven !== 'true') { const overlayNextExists = jQuery(element).next(`.${cookieName}`).length > 0; const overlayPrevExists = jQuery(element).prev(`.${cookieName}`).length > 0; if (!overlayNextExists && !overlayPrevExists) { const textOverlay = getOverlayMessage(platform, platformName, ppLink, foundryPPLink, callback, cmpType); jQuery(textOverlay).insertAfter(element); jQuery(element).hide(); } } else { jQuery(element).show(); console.log(callback); eval(callback); const src = element.getAttribute('src'); const dataSrc = element.getAttribute('data-src'); if (src === "" && dataSrc) { element.setAttribute('src', dataSrc); // Move data-src to src } } } function showOverlays(cmpType) { const blocksForConsent = window?.blocksForConsent ?? []; Object.entries(blocksForConsent).forEach(function([key, value]) { const { platform, platformName, selector, privacyPolicyLink, callback } = value; const elements = document.querySelectorAll(`${selector}`); // selector for iframes and scripts within 'legacy_content' for the custom blcok. const legacySelector = `.legacy_content iframe[data-src*="${platform}"], .legacy_content script[src*="${platform}"], .legacy_content script[data-src*="${platform}"], .legacy_content blockquote[class*="${platform}"]`; // Select all iframes and scripts within the div with class 'legacy_content' that match the dynamic selectors. const legacyElements = document.querySelectorAll(legacySelector); const ppLink = window?.IDG?.settings?.overlays_privacy_policies?.[privacyPolicyLink]?.[cmpType]; const foundryPPLink = window?.IDG?.settings?.overlays_privacy_policies?.foundry_privacy_policies?.[cmpType]; if (elements.length > 0) { elements.forEach(function(element) { renderOverlay(element, platform, platformName, ppLink, foundryPPLink, callback, cmpType) }); } if (legacyElements.length > 0) { legacyElements.forEach(function(element) { renderOverlay(element, platform, platformName, ppLink, foundryPPLink, `renderCustomBlockInLegacyContent('${platform}', '${callback}')`, cmpType); }); } }); } </script> <script type="text/javascript"> /** * Load Infogram-block if user accepted consent */ function infogramCallback() { ! function(e, i, n, s) { var t = "InfogramEmbeds",d = e.getElementsByTagName("script")[0]; if (window[t] && window[t].initialized) window[t].process && window[t].process(); else if (!e.getElementById(n)) { var o = e.createElement("script"); o.async = 1, o.id = n, o.src = "https://e.infogram.com/js/dist/embed-loader-min.js", d.parentNode.insertBefore(o, d) } }(document, 0, "infogram-async"); } /** * Display Whistleout-block if user accepted consent */ function whistleoutCallback() { /* Get the placeholder element */ const whistleout_script_placeholder = document.querySelectorAll(".whistleout_placeholder"); /* get the tariffux-id dataset attribute from the placeholder element */ if( whistleout_script_placeholder ){ whistleout_script_placeholder.forEach(box => { /** * Load whistleout script here **/ let whistleout_script = document.createElement('script'); let whistleoutAuId = box.dataset.whistleoutauid; let whistleoutUsId = box.dataset.whistleoutusid; let getLocation = window?.IDG?.geolocation; if( 'AU' == getLocation && undefined !== whistleoutAuId && '' !== whistleoutAuId ){ whistleout_script.src = "https://www.whistleout.com/Widgets/Geo/Embed"; whistleout_script.async = true; whistleout_script.type = "text/javascript"; /** * Replace xxx here with the right embed-id set by the editor **/ whistleout_script.setAttribute('data-au', 'https://www.whistleout.com.au/Widgets/MobilePhoneSearch/Embed/'+whistleoutAuId); } if( 'US' == getLocation && undefined !== whistleoutUsId && '' !== whistleoutUsId ){ whistleout_script.src = "https://www.whistleout.com/Widgets/Geo/Embed"; whistleout_script.async = true; whistleout_script.type = "text/javascript"; /** * Replace xxx here with the right embed-id set by the editor **/ whistleout_script.setAttribute('data-us', 'https://www.whistleout.com/Widgets/MobilePhoneSearch/Embed/'+whistleoutUsId); } box.appendChild(whistleout_script) }) } } /** * Script for Dutch Selection block. **/ var tdsPcInpageConfig = tdsPcInpageConfig || {}; function loadDutchBlockConfig() { if( tdsPcInpageConfig['widget']!==undefined ) { console.log('tdsPcInpageConfig=',tdsPcInpageConfig); var dutchSelectionScript = document.createElement('script'); dutchSelectionScript.async = true; dutchSelectionScript.src = 'https://pcf.tdscd.com/pc-inpage.js'; document.body.appendChild(dutchSelectionScript); } } /** * Load Flourish-block if user accepted consent **/ function flourishCallback() { /* wait until window.visitorConsentedAll is set */ /* Get the placeholder element */ const flourish_script_placeholder = document.querySelectorAll(".flourish-chart"); /* get the tariffux-id dataset attribute from the placeholder element */ if( flourish_script_placeholder ){ flourish_script_placeholder.forEach(box => { let flourish_id = box.dataset.src; if( flourish_id !== undefined ) { /* create a new script */ let flourish_script = document.createElement("script"); flourish_script.type = "text/javascript"; /* create the script-id by concatenating 'twl-mobile-' with the dynamic id */ flourish_script.async = true; flourish_script.src = 'https://public.flourish.studio/resources/embed.js'; /* add the script as a child element of the placeholder div */ box.appendChild(flourish_script) } }) } } /** * Load podcast player if user accepted consent **/ function iframeLoaded( podcastIframe ) { if( podcastIframe ) { const height = podcastIframe.contentWindow.document.body.scrollHeight + 'px'; podcastIframe.style.height = height; } } function loadPodcastplayer(){ const podcastElements = document.querySelectorAll('.wp-block-jetpack-podcast-player'); if( podcastElements ){ let count = 1; Array.from(podcastElements).map(function(element) { if (!element.querySelector('iframe')) { let postId = element.getAttribute('post_id'); let podcastIframe = document.createElement("iframe"); const siteUrl = document.location.origin; podcastIframe.src = siteUrl+"/podcast-player?id="+postId+"&position="+count+'&_ajaxnonce=c2e09303c7'; podcastIframe.width = "100%"; podcastIframe.frameBorder ="0"; podcastIframe.scrolling = "0"; podcastIframe.style.border= "none"; podcastIframe.scrolling = "no"; element.appendChild(podcastIframe); podcastIframe.onload = function() { setTimeout( function() { iframeLoaded( podcastIframe ); }, 1000); }; count++; } }); } } document.addEventListener("DOMContentLoaded", () => { document.querySelectorAll('.wp-block-embed-instagram').forEach(function(element) { element.style.display = 'none'; }); }); function instagramCallback(){ const instagramBlocks = document.querySelectorAll('.wp-block-embed-instagram'); if (instagramBlocks.length > 0) { let scriptInstaSrc = null; instagramBlocks.forEach(block => { const oldInstaScript = block.querySelector('script'); if (oldInstaScript) { if (!scriptInstaSrc) { scriptInstaSrc = oldInstaScript.getAttribute('data-src'); } oldInstaScript.remove(); } block.style.display = 'initial'; }); if (scriptInstaSrc) { const instagramScript = document.createElement('script'); instagramScript.async = true; instagramScript.src = scriptInstaSrc; document.getElementsByTagName('head')[0].appendChild(instagramScript); } } const instaBlocks = document.querySelectorAll('.legacy_content blockquote[class*="instagram"]'); if( instaBlocks ) { let instaScript = document.createElement("script"); instaScript.type = "text/javascript"; instaScript.async = true; instaScript.src = '//www.instagram.com/embed.js'; document.body.appendChild(instaScript); } } document.addEventListener("DOMContentLoaded", () => { document.querySelectorAll('.wp-block-embed-twitter').forEach(function(element) { element.style.display = 'none'; }); }); function twitterCallback(){ const twitterBlocks = document.querySelectorAll('.wp-block-embed-twitter'); if (twitterBlocks.length > 0) { let scriptSrc = null; twitterBlocks.forEach(block => { const oldScript = block.querySelector('script'); if (oldScript) { if (!scriptSrc) { scriptSrc = oldScript.getAttribute('data-src'); } oldScript.remove(); } block.style.display = 'initial'; }); if (scriptSrc) { const twitterScript = document.createElement('script'); twitterScript.async = true; twitterScript.src = scriptSrc; twitterScript.charset = "utf-8"; document.getElementsByTagName('head')[0].appendChild(twitterScript); } } const twittBlocks = document.querySelectorAll('.legacy_content blockquote[class*="twitter"]'); if( twittBlocks ) { let twittScript = document.createElement("script"); twittScript.type = "text/javascript"; twittScript.async = true; twittScript.src = '//platform.twitter.com/widgets.js'; document.body.appendChild(twittScript); } } /** * Load Apple podcast-block if user accepted consent **/ function loadApplePodcastplayer(){ const applePodcastElements = document.querySelectorAll('.apple_podcasts iframe'); if( applePodcastElements ){ Array.from(applePodcastElements).map(function(element) { const dataSrc = element.getAttribute('data-url'); const dataHeight = element.getAttribute('data-height'); element.src = dataSrc; element.height = dataHeight; }); } } /** * Load custom HTML block if user accepted consent */ function customHTMLCallback() { jQuery('.legacy_content iframe, .legacy_content script, .legacy_content img').each(function(index, element) { const dataSrc = jQuery(element).attr('data-src'); if(dataSrc) { if( element.nodeName.toLowerCase() === 'script' ) { let genericScript = document.createElement("script"); genericScript.type = "text/javascript"; genericScript.async = true; genericScript.src = dataSrc; element.parentNode.insertBefore(genericScript, element); element.remove(); } else { jQuery(element).attr('src', jQuery(element).attr('data-src')); } jQuery(element).show(); } }); jQuery("[class*='custom-html-consent-notice-']").hide(); } function loadTaboola() { window._taboola = window._taboola || []; _taboola.push({article:'auto'}); !function (e, f, u, i) { if ( !document.getElementById(i)) { e.async = 1; e.src = u; e.id = i; f.parentNode.insertBefore(e, f); } } ( document.createElement('script'), document.getElementsByTagName('script')[0], '//cdn.taboola.com/libtrc/foundry-network/loader.js' ,'tb_loader_script' ); if(window.performance && typeof window.performance.mark == 'function') { window.performance.mark('tbl_ic'); } } function renderCustomBlockInLegacyContent(selector, callback) { const legacySelector = `.legacy_content iframe[data-src*="${selector}"], .legacy_content script[src*="${selector}"], .legacy_content script[data-src*="${selector}"], .legacy_content blockquote[class*="${selector}"], .legacy_content img[data-src*="${selector}"]`; jQuery(legacySelector).each(function(index, element) { if( element.nodeName.toLowerCase() === 'script' ) { let genericScript = document.createElement("script"); genericScript.type = "text/javascript"; genericScript.async = true; genericScript.src = jQuery(element).attr('data-src'); element.parentNode.insertBefore(genericScript, element); element.remove(); } else { jQuery(element).attr('src', jQuery(element).attr('data-src')); } jQuery(element).show(); }); eval(callback); } /** * Load google Recaptcha JS and Keys if user accepted consent. */ function newsletterCallback(){ const newsletterTemplate = document.getElementById("newslettersignup"); if(newsletterTemplate){ var reCaptpchaGoogleScript = document.createElement('script'); reCaptpchaGoogleScript.src = 'https://www.google.com/recaptcha/api.js?render=6Lcpg5woAAAAAC6mlZsgRDBDLrpkwIBUEUTjCanh'; reCaptpchaGoogleScript.async = true; document.getElementsByTagName('head')[0].appendChild(reCaptpchaGoogleScript); var reCaptchaKey = document.createElement('script'); reCaptchaKey.type = 'text/javascript'; reCaptchaKey.innerHTML = "var recaptcha_site_key = '6Lcpg5woAAAAAC6mlZsgRDBDLrpkwIBUEUTjCanh';"; document.getElementsByTagName('head')[0].appendChild(reCaptchaKey); const newsletterTemplate = document.getElementById("newslettersignup"); const cookieName = `hide-overlay-newsletterSignup`; const consentGiven = getOverlayCookie(cookieName); if (consentGiven === 'true') { document.getElementById("consent_validation").value = true; } } } /** * Load Spotify if user accepted consent. */ /** * Load bluesky if user accepted consent. */ // __tcfapi call event. __tcfapi('addEventListener', 2, function(tcData, success) { if ( success && (tcData.eventStatus === 'tcloaded' || tcData.eventStatus === 'useractioncomplete') ) { console.log('###### tcData.eventStatu infogram ', tcData.eventStatus ); /** * GDPR Case **/ if(tcData.gdprApplies) { /** * Use getCustomVendorConsents to get all the vendor information we need to check * if consent was given for the vendor and associated purposes. **/ __tcfapi('getCustomVendorConsents', 2, function(vendorConsents, success) { /** * If this fails for some reason, log to the console and do nothing **/ if(!success) { console.warn('Error getting custom vendor consents.'); }; if(success) { /** * Split up the vendorConsents callback return values into manageable variables **/ consentedPurposes = vendorConsents.consentedPurposes || []; consentedCustomVendors = vendorConsents.consentedVendors || []; vendorGrants = vendorConsents.grants; allConsented = vendorConsents.consentedAll; /** * Set up the checkConsent function to use for checking * individual vendor consents via their Sourcepoint Vendor-ID **/ var checkConsent = function(vendorId) { /** * Always start with the assumption that consent is not given by default **/ var consentGiven = false; /** * Check if the vendorId is found in vendorGrants from the vendorConsents.grants * callback variable of getCustomVendorConsents **/ if(vendorId in vendorGrants) { /** * Get vendorGrants via vendorId **/ var vendor = vendorGrants[vendorId]; /** * Now we can use the associated vendor to get the vendorGrant information. * If the vendor has grants, consentGiven will be true, otherwise this will * be set to false. **/ consentGiven = vendor.vendorGrant; /** * Check if we already have consent at this point **/ if(consentGiven) { /** * If we reach this, we know the vendor is not turned off, * but we double check all the vendors associated purposes * to be absolutely sure. **/ for(var purposeID in vendor.purposeGrants) { /** * While iterating all vendor associated purposes, * set this to true or false for each purpose **/ consentGiven = vendor.purposeGrants; /** * If this is set to false at any point in the purpose iteration, * we can exit out because at least one of the purposes has no * explicit consent given by the visitor **/ if(!consentGiven) { /** * Log to the console for easy debugging **/ console.warn('Purpose-consent for purpose', purposeID, 'for vendor', vendorId, 'is', consentGiven); /** * Exit the loop **/ break; }; }; }; /** * If we passed both checks above, return the current value of consentGiven **/ console.log('Vendor', vendorId, 'has vendorGrant.'); return consentGiven; }; /** * Fallback case if vendor is not in vendor list and/or not found in vendorGrants * Just default to assuming consent is not given since we cannot explicitly check. **/ console.log('Vendor', vendorId, 'was not found in vendorGrants. Assume no consent.'); return false; }; /** * Now we can use the checkConsent function to check individual vendors via their vendorId **/ const whistleout_inc = window?.IDG?.vendorList?.whistleout_inc || ''; const whistleout_pty_ltd = window?.IDG?.vendorList?.whistleout_pty_ltd || ''; /** * For whistleout, we should check consent for both whistleout_inc and whistleout_pty_ltd * before loading the script **/ if( checkConsent(whistleout_inc) && whistleout_inc !== '' && checkConsent(whistleout_pty_ltd) && whistleout_pty_ltd !== '' ) { console.log('Consent given for vendor whistleout_inc', whistleout_inc, ' and whistleout_pty_ltd', whistleout_pty_ltd,'. Script can now be loaded'); /** * Display whistleout block here **/ setTimeout(whistleoutCallback, 0); } /** * Store Sourcepoint vendorIds here to use for individual checks **/ const infogram = window?.IDG?.vendorList?.infogram || ''; /** * Now we can use the checkConsent function together with the vendorIds to check * each vendor and load the script when consent is given **/ if( infogram !== '' && checkConsent(infogram) ) { console.log('Consent given for vendor infogram', infogram, '. Script can now be loaded'); setTimeout(infogramCallback, 0); }; /*** * Dutch selection block. **/ const dutchSelectionBlock = window?.IDG?.vendorList?.dutch_selection || ''; if( dutchSelectionBlock !== '' && checkConsent(dutchSelectionBlock) ) { console.log('Consent given for vendor dutchblock', dutchSelectionBlock, '. Script can now be loaded'); setTimeout(loadDutchBlockConfig, 0); }; /*** * Flourish block. **/ const flourish = window?.IDG?.vendorList?.flourish || ''; if( flourish !== '' && checkConsent(flourish) ) { console.log('Consent given for vendor flourish block', flourish, '. Script can now be loaded'); setTimeout(flourishCallback, 0); } /*** * Jetpack podcast player. **/ const podigee = window?.IDG?.vendorList?.podigee || ''; if( podigee !== '' && checkConsent(podigee) ) { console.log('Consent given for vendor podcast player block', podigee, '. Script can now be loaded'); setTimeout(loadPodcastplayer, 0); } const instagram = window?.IDG?.vendorList?.instagram || ''; if( instagram !== '' && checkConsent(instagram) ) { console.log('Consent given for vendor instagram', instagram, '. Script can now be loaded'); setTimeout(instagramCallback, 0); } const twitter = window?.IDG?.vendorList?.twitter || ''; if( twitter !== '' && checkConsent(twitter) ) { console.log('Consent given for vendor Twitter', twitter, '. Script can now be loaded'); setTimeout(twitterCallback, 0); } /** * Display Apple Podcasts. **/ const apple_podcast = window?.IDG?.vendorList?.apple_podcast || ''; if( apple_podcast !== '' && checkConsent(apple_podcast) ) { console.log('Consent given for vendor Apple podcast block', apple_podcast, '. Script can now be loaded'); setTimeout(loadApplePodcastplayer, 0); } /*** * consent given then render custom html blocks. **/ if(vendorConsents.consentedAll) { setTimeout(customHTMLCallback, 0); } /*** * Taboola. **/ const taboola = window?.IDG?.vendorList?.taboola || ''; if( taboola !== '' && checkConsent(taboola) ) { console.log('Consent given for Taboola', taboola, '. Script can now be loaded'); setTimeout(loadTaboola, 0); } /*** * Displaying overlays when Reject all is clicked. **/ if( ! allConsented) { showOverlays('gdpr'); } /*** * consent given then render custom html blocks. **/ if(vendorConsents.consentedAll) { setTimeout(customHTMLCallback, 0); setTimeout(newsletterCallback, 0); } } }); }; /** * Non-GDPR Case **/ if(!tcData.gdprApplies) { /** * GDPR does not apply so check for CCPA **/ __uspapi('getCustomVendorRejects', 2, function(consent, USPDataSuccess) { /** * Log if this fails for some reason, should rarely ever happen **/ if(!USPDataSuccess) { console.error('Error getting __uspapi custom vendor rejects.'); }; /** * Check if CCPA applies, stored inside the consent variable of the callback **/ if(USPDataSuccess) { /** * Handle CCPA opt out check if it applies **/ if(consent.ccpaApplies) { /** * Get US Privacy Data **/ __uspapi('getUSPData', 2, function(uspData, success) { /** * Log if this fails for some reason, should rarely ever happen **/ if(!success) { console.error('Error in getUSPData'); } /** * The opt out information is stored in the uspString * see IAB documentation: * https://github.com/InteractiveAdvertisingBureau/USPrivacy/blob/master/CCPA/USP%20API.md#getuspdata **/ var uspString = uspData.uspString; var uspArray = uspString.split(''); var ccpaOptOut = (uspArray[2] === 'Y'); /** * Visitor has actively opted out, so we do not fire the script(s) **/ if(ccpaOptOut) { console.log('Visitor has opted out via CCPA.'); showOverlays('ccpa'); } if(!ccpaOptOut) { /** * Visitor has not opted out so we can load our script(s) here for the CCPA case **/ setTimeout(infogramCallback, 0); console.log('CCPA and no opt out. Loading scripts'); /** * Display whistleout block here **/ setTimeout(whistleoutCallback, 0); /** * Display DutchBlcok **/ setTimeout(loadDutchBlockConfig, 0); /** * Display FlourishBlock **/ setTimeout(flourishCallback, 0); /** * Display Podcast player jetpack. **/ setTimeout(loadPodcastplayer, 0); setTimeout(instagramCallback, 0); setTimeout(twitterCallback, 0); /** * Display Apple Podcasts. **/ setTimeout(loadApplePodcastplayer, 0); /*** * consent given then render custom html blocks. **/ setTimeout(customHTMLCallback, 0); /** * Display Taboola. **/ setTimeout(loadTaboola, 0); setTimeout(newsletterCallback, 0); } }); } /** * If we reach this point, we have checked for GDPR and CCPA applies * and both cases were false so no consent checks are required and * we can load the script(s) **/ if(!consent.ccpaApplies) { setTimeout(infogramCallback, 0); console.log('No consent required. Loading scripts'); /** * Display whistleout block here **/ setTimeout(whistleoutCallback, 0); /** * Display DutchBlcok **/ setTimeout(loadDutchBlockConfig, 0); /** * Display FlourishBlock **/ setTimeout(flourishCallback, 0); /** * Display Podcast player jetpack. **/ setTimeout(loadPodcastplayer, 0); setTimeout(instagramCallback, 0); setTimeout(twitterCallback, 0); /** * Display Apple Podcasts. **/ setTimeout(loadApplePodcastplayer, 0); /*** * consent given then render custom html blocks. **/ setTimeout(customHTMLCallback, 0); /** * Display Taboola. **/ setTimeout(loadTaboola, 0); setTimeout(newsletterCallback, 0); } } }); } else { console.log('###### GDPR applied tcData.eventStatus ', tcData.eventStatus ); } /** * Remove the event listener after it has fired once per page * to avoid loading the script(s) multiple times **/ __tcfapi('removeEventListener', 2, function(success) { if (success) { console.log('Removing event listener gdpr consent', tcData.listenerId) } }, tcData.listenerId); } }); </script> <style>img#wpstats{display:none}</style> <script type="application/ld+json">[{"@context":"https:\/\/schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.macworld.com"},{"@type":"ListItem","position":2,"name":"Software","item":"https:\/\/www.macworld.com\/software"},{"@type":"ListItem","position":3,"name":"How-To","item":"https:\/\/www.macworld.com\/software\/how-to"}]},{"@context":"https:\/\/schema.org","@type":"BlogPosting","url":"https:\/\/www.macworld.com\/article\/209863\/howto-rip-cds.html","publisher":{"@type":"Organization","name":"Macworld","url":"https:\/\/www.macworld.com","logo":{"@type":"ImageObject","url":"https:\/\/www.macworld.com\/wp-content\/uploads\/2021\/03\/pub-logo.png"}},"author":{"@type":"Person","name":"Christopher Breen","url":"https:\/\/www.macworld.com\/author\/cbreen"},"name":"How to rip CDs with iTunes","headline":"How to rip CDs with iTunes","articleBody":"Much as Apple and Amazon would be thrilled if you populated your iTunes library with nothing but tracks purchased from the iTunes Store and Amazon MP3, there\u2019s a very good chance that you already have a load of music just waiting to make its way to your computer and iOS device\u2014your CD library. Here are the steps for turning your discs into digital files.Step One: Check your iTunes settingsBy default, iTunes will import (or rip) CD tracks using the AAC encoder at 256 kbps. This is a \u201clossy\u201d compression format (meaning iTunes makes your tracks consume less space by removing audio data that you shouldn\u2019t be able to hear). However, it\u2019s also a lossy compression format set at a high bit rate, which means it should be extremely difficult (if not impossible) to detect any difference between the original and ripped versions.If you\u2019d like to change the encoding settings\u2014either to save more space by choosing a smaller bit rate such as 128 kbps or to get a higher quality file by choosing a lossless encoder such as Apple Lossless or AIFF\u2014choose Preferences from the iTunes menu and click the General tab.To change the import settings, click on the appropriately named Import Settings button. In the resulting Import Settings window you can choose AAC Encoder, AIFF Encoder, Apple Lossless Encoder, MP3 Encoder, or WAV Encoder from the Import Using pop-up menu. AAC and MP3 are both lossy encoders. The Apple Lossless encoder cuts file size approximately in half without losing audio quality. The AIFF and WAV encoders maintain audio files at their original size and resolution. (Using these encoders a 4-minute track is approximately 40MB.)When you select either AAC Encoder or MP3 Encoder in the Import Using pop-up menu you can choose a different bit rate in the Setting pop-up menu below. When you choose AAC Encoder your preset choices are High Quality (128 kbps), iTunes Plus (256 kbps), or Spoken Podcast (64 kbps). Choose MP3 Encoder and your preset choices are Good Quality (128 kbps), High Quality (160 kbps), and Higher Quality (192 kbps). For each encoder you also have a Custom option. Select it and a new window opens where you can choose from among a variety of bit rates. Again, the higher the bit rate, the better the audio quality and the bigger the file.You can also view iTunes\u2019 Import Settings by selecting the CD in iTunes\u2019 Source list and clicking the Import Settings button at the bottom-right of the iTunes window. Additionally, with Doug Adams\u2019 free \nRip A Few My Way AppleScript installed, you can invoke the script from iTunes\u2019 AppleScript menu and choose the encoder you\u2019d like to use for selected CD tracks.Step Two: Insert and select a CDInsert a music CD into your Mac\u2019s media drive. By default, iTunes will launch, the CD\u2019s name will appear in iTunes\u2019 Source list and be selected, and the CD\u2019s track names will appear in iTunes\u2019 main window.If the CD\u2019s track names don\u2019t appear it either means that your computer isn\u2019t able to communicate via the Internet (which is how iTunes obtains album, artist, and track names) or the CD is one that\u2019s not recognized by iTunes (a \u201cmix tape\u201d CD a friend has created, for example). For those CDs that don\u2019t have track names automatically added, you can click on individual titles and add names manually.Also, by default, a window appears that reads:Would you like to import the CD \u201cname of CD\u201d into your iTunes library?Click Yes to import all the individual tracks on the CD or No if you\u2019d prefer to not import the tracks at all (or do it at another time).If you click No and later wish to import the tracks from the CD, select the CD in iTunes\u2019 Source list and at the bottom-right of the iTunes window click on the Import CD entry. iTunes will begin ripping the CD and adding the tracks to the iTunes library.If you\u2019d like iTunes to rip just selected tracks, uncheck the tracks that you don\u2019t want to rip.Step Three: Optionally join tracksThere may be times when you want to combine multiple tracks into a single track. For example, if you have an \naudiobook CD that includes lots of short files that you\u2019d like to play as a single larger file, or a series of live songs that segue smoothly and you\u2019d like to keep together. To combine tracks, simply select the files you want to join and choose Join from iTunes\u2019 Advanced menu. iTunes will place a bracket next to the tracks that will be joined when you click Import CD.","wordCount":790,"datePublished":"2011-01-11T21:00:00-08:00","dateModified":"2023-01-06T16:46:33-08:00","keywords":"Professional Software","mainEntityOfPage":"https:\/\/www.macworld.com\/article\/209863\/howto-rip-cds.html"}]</script> <style> :root { /* Base. */ --base--font-family: "proxima-nova", sans-serif; --base--font-color: #111; /* Blockquote. */ --blockquote--font-family: "proxima-nova", sans-serif; --blockquote--font-color: #4d4d4d; --blockquote--border-color: #5b7186; --blockquote--font-size: 20px; --blockquote--line-height: 28px; --blockquote--citation-color: #111; --blockquote--citation-font-size: 16px; --blockquote--citation-line-height: 24px; /* Pullquote */ --pullquote--max-width: 617px; --pullquote--quotation-color: #2395d1; --pullquote--quotation-font-size: 7rem; --pullquote--cite-color: #111; --pullquote--cite-font-size: 16px; --pullquote--text-color: #4d4d4d; --pullquote--text-font-size: 28px; --pullquote--quotation-font-weight: 800; /* Social Links */ --social-link-color: #39c; /* Text Link. */ --text-link--font-color: #2a7da7; --text-link--hover--font-color: #2a7da7; --text-link--active--font-color: #2a7da7; --text-link--visited--font-color: #2a7da7; /* Skip Link */ --skip-link--font-color: #fff; --skip-link--background-color: #3a3a3a; /* Heading. */ --heading--font-family: "proxima-nova", sans-serif; --heading--font-color: #111; --heading--link--font-color: #2a7da7; /* Deals Collection Block */ --view-button--green: #2a7da7; /** Block - Price Comparison */ --price-comparison--border-color: #2A7DA7; --price-comparison--header--font-family: "proxima-nova-condensed", sans-serif; --price-comparison--header--font-color: #fff; --price-comparison--header--letter-spacing: 0.78px; --price-comparison--header--background-color: #2A7DA7; --price-comparison--record--font-family: "proxima-nova", sans-serif; --price-comparison--record--border-color: #C7C7C7; --price-comparison--delivery-text--font-color: #3E3E3E; --price-comparison--view-button--background-color: #2a7da7; --price-comparison--view-button--hover--color: #3399cc; --price-comparison--view-button--border--color: #2a7da7; --price-comparison--view-button--border-hover--color: #3399cc; --price-comparison--view-button--letter-spacing: 0.72px; --price-comparison--footer--font-color: #666666; --price-comparison--view-more-button--font-color: #2A7DA7; /** Block - Product chart */ --product-chart--title--font-family: "proxima-nova", sans-serif; --product-chart--information-label--font-family: "proxima-nova", sans-serif; --product-chart--information-value--font-color: #2A7DA7; --product-chart--review-link--font-color: #2A7DA7; --product-chart--description--font-color: #4D4D4D; --product-chart--separator--background-color: #404040; --product-price-comparison--record--border-color: #e2e1e1; /** Block - Product widget */ --product-widget--border-color: #878787; --product-widget--block-title--background-color: #2A7DA7; --product-widget--block-title--font-color: #fff; --product-widget--block-title--letter-spacing: 0.78px; --product-widget--block-title--font-family: "proxima-nova-condensed", sans-serif; --product-widget--title--font-family: "proxima-nova", sans-serif; --product-widget--title--font-color: #111111; --product-widget--information-label--font-family: "proxima-nova", sans-serif; --product-widget--information-value--font-color: #2A7DA7; /* Button Primary. */ --button-primary--font-color: #fff; --button-primary--border-color: #2a7da7; --button-primary--background-color: #2a7da7; --button-primary--enter--font-color: #fff; --button-primary--enter--border-color: #3f8ab0; --button-primary--enter--background-color: #3f8ab0; --button-primary--hover--font-color: #fff; --button-primary--hover--border-color: #3f8ab0; --button-primary--hover--background-color: #3f8ab0; --button-primary--visited--font-color: #fff; --button-primary--visited--border-color: #2a7da7; --button-primary--visited--background-color: #2a7da7; --button-primary--border-radius: 4px; /* Button Outline. */ --button-outline--font-color: #2a7da7; --button-outline--border-color: #2a7da7; --button-outline--enter--font-color: #fff; --button-outline--enter--border-color: #2a7da7; --button-outline--enter--background-color: #2a7da7; --button-outline--border-radius: 4px; /* Footer. */ --footer--background-color: #3a3a3a; --footer--border-color: #d8d8d8; --footer--logo-width: 200px; /* Navigation Primary. */ --navigation-primary--font-family: "proxima-nova", sans-serif; --navigation-primary--font-color: #111; --navigation-primary--hover--font-color: #2a7da7; --navigation-primary--background-color: #39c; --navigation-primary--logo-width: 140px; /* Navigation Logo Bar. */ --navigation-logo-bar--background-color: #39c; --navigation-logo-bar--logo-width: 235px; /* Navigation Secondary. */ --navigation-secondary--font-family: "proxima-nova", sans-serif; --navigation-secondary--font-color: #4d4d4d; --navigation-secondary--title--font-family: "proxima-nova-condensed", sans-serif; --navigation-secondary--title--font-color: #db7900; --navigation-secondary--border-color: #d8d8d8; --navigation-secondary--social-icon-color: #4d4d4d; /* Navigation Mobile. */ --navigation-mobile--font-family: "proxima-nova", sans-serif; --navigation-mobile--font-color: #111; --navigation-mobile--scroll-bar-color: #39c; --navigation-mobile--button-color: #4d4d4d; --navigation-mobile--menu-button-color: #2a7da7; /* Hero. */ --hero--title-color: #3a3a3a; --hero--border-color: #e8e8e8; /* Article Feed */ --articleFeed--border-color: #dedede; --articleFeed--meta--font-color: #4d4d4d; /* Author Meta. */ --meta--posted-on--font-color: #757575; /* Single Article. */ --single-article--border-color: #cccccc; --single-article--bio--font-color: #4d4d4d; --single-article--social--font-color: #888888; --single-article--first-byline-border-color: #111; --single-article--second-byline-border-color: #888; /* Figcaptions. */ --figcaption--font-family: "proxima-nova", sans-serif; --figcaption--font-color: #4D4D4D; /* Image. */ --image--border-color: #ccc; --imagecredit--font-color: #757575; /* Eyebrows. */ --eyebrow--default--font-family: "proxima-nova-condensed", sans-serif; --eyebrow--default--font-color: #5b7186; --eyebrow--default--font-weight: 700; --eyebrow--default--letter-spacing: 0.4px; --eyebrow--sponsered--font-family: "proxima-nova-condensed", sans-serif; --eyebrow--sponsered--font-color: #ac1f2b; --eyebrow--sponsered--font-weight: 700; --eyebrow--sponsered--letter-spacing: 0.4px; /* Nativo / sponsored content eyebrow color */ --eyebrow--sponsered--content--font-color: #b95804; --eyebrow--sponsered--dealpost--font-family: "proxima-nova", sans-serif; --eyebrow--sponsered--dealpost--font-color: #4d4d4d; --eyebrow--sponsered--dealpost--font-size: 13px; --eyebrow--sponsered--dealpost--letter-spacing: 0; --eyebrow--sponsered--dealpost--line-height: 20px; --hero-eyebrow--default--font-family: "proxima-nova-condensed", sans-serif; --hero-eyebrow--default--font-color: #fff; --hero-eyebrow--default--font-weight: 500; --hero-eyebrow--default--letter-spacing: auto; --hero-eyebrow--default--background-color: #3a3a3a; --eyebrow--sponsored--sponsored-by--font-color: #111111; --eyebrow--sponsered--sponsored-by--font-family: "proxima-nova", sans-serif; --eyebrow--sponsored--sponsored-by--font-size: 14px; --eyebrow--sponsored--sponsored-by--letter-spacing: 0; --eyebrow--sponsored--sponsored-by--line-height: 20px; /* Tab Navigation */ --tab-navigation--background-color: transparent; --tab-navigation--font-family: "proxima-nova", sans-serif; --tab-navigation--font-color: #4D4D4D; --tab-navigation--default--border-color: #D8D8D8; --tab-navigation--active--border-color: #39c; --tab-navigation--text-hover--border-radius: 2px; --tab-navigation--text-hover--font-color: #297BA8; --tab-navigation--text-hover--background-color: #E5F2FA; --tab-navigation--text-active--font-color: #297BA8; --tab-navigation--text-active--background-color: #E5F2FA; --tab-navigation--text-visited--font-color: #297BA8; --tab-navigation--text-visited--background-color: #E5F2FA; --tab-navigation--button--font-color: #fff; --tab-navigation--button--border-color: #2a7da7; --tab-navigation--button--background-color: #2a7da7; --tab-navigation--button--hover--font-color: #fff; --tab-navigation--button--hover--border-color: #3f8ab0; --tab-navigation--button--hover--background-color: #3f8ab0; --tab-navigation--button--visited--font-color: #fff; --tab-navigation--button--visited--border-color: #2a7da7; --tab-navigation--button--visited--background-color: #2a7da7; --tab-navigation--button--border-radius: 2px; --tab-navigation--group--background-color: #fff; /* Sponsorship Header. */ --sponsorship-header--font-color: #4d4d4d; /* Sponsored Links */ --sponsored-links--title--font-color: #888888; --sponsored-links--border-color: #d8d8d8; /* Google Search. */ --google-search--title--font-family: "proxima-nova", sans-serif; --google-search--title--font-color: #111; --google-search--snippet--font-family: "proxima-nova", sans-serif; --google-search--snippet--font-color: #4d4d4d; /* JW Player. */ --jw-player-border-color: #3eafe9; --jw-player-title-color: #3eafe9; --jw-player-close-btn-color: #111; /* Fake Sidebar Styles*/ --fake-sidebar--default--font-weight: bold; --fake-sidebar--default--line-height: 30px; --fake-sidebar--default--font-size: 20px; /*Lineup Element*/ --lineup-element-error-font-color: #cd423b; --lineup-element-disabled-button-background-color: #ddd; --lineup-element-disabled-button-font-color: #eee; --lineup-element-button-tooltip-background-color: #757575; --lineup-element-button-tooltip-font-color: #fff; --lineup-element-note-font-color: #757575; --lineup-element-button-disabled: hsla(0,0%,100%,.4); /* LineUp Popover.*/ --lineup-popover-a-color: white; --lineup-popover-err-color: red; --lineup-popover-th-color: #d4d4d4; --lineup-popover-tr-color: #f2f2f2; --lineup-popover-paginate-a-active-color: #ddd; --lineup-popover-paginate-a-non-active-color: #006ba1; /* Publication list pop-up pn edit edition page */ --publication-list-container-bg: rgba(255, 255, 255, 1); --publication-list-container-border: #111; --publication-list-container-bs: #222; --publication-list-bg:rgba(100, 100, 100, .6); --publication-list-popup-header-border: #ddd; --publication-list-popup-header-bg: #e9e9e9; /* Author Section */ --author-block--border-top: #3399CC; --site-primary: #3399cc; /* Amazon Lightning Deal */ --amazon-lightning--header-font-family: "proxima-nova", sans-serif; --amazon-lightning--text--font-color: #4d4d4d; --amazon-lightning--text-font-family: "proxima-nova", sans-serif; --amazon-lightning-deal-name-text-color: #222222; --amazon-lightning-deal-name-text-font-weight: 600; --amazon-lightning-deal-name-text-font-size: 11pt; --amazon-lightning-deal-name-text-line-height: 11pt; --amazon-lightning-deal-name-text-padding-bottom: 3pt; --amazon-lightning-deal-discount-price-font-size: 12pt; --amazon-lightning-deal-end-at-font-size: .75rem; --amazon-lightning-deal-end-at-line-height: 1.2rem; --amazon-lightning-deal-end-at-margin-top: 2pt; --amazon-lightning-deal-end-at-width: 85px; --amazon-lightning--text-font-size: 16px; --amazon-lightning--header-font-size: 24px; --amazon-lightning--header-font-color: #111111; --amazon-lightning--header-font-size-mobile: 20px; --amazon-lightning--text-font-size-mobile: 18px; --jw-player-branding: url("https://www.macworld.com/wp-content/uploads/2021/08/MW-TV-logo.svg"); } </style> <style> :root { /* FAQ*/ --faq-heading-seprator-color: #d8d8d8; --faq-input-box-border-color: #757575; --faq-remove-link-color: #c30e0e; --faq-heading-color: #141414; --faq-heading-font-family: "fira-sans", sans-serif; --faq-title-description-font-family: "myriad-pro",sans-serif; --faq-label-color: #AAA; --faq-company-name-font-color: #75757A; --faq-horizontal-line-color: #DEDEDE; /* Image Text*/ --image-translation: "Image: "; /* Brandpost template Text*/ --brandpost-light-color: #fff; --brandpost-dark-color: #000; /* get the values of gpt leaderboardmainbod */ --min-height-970: 148px; --max-height-970: ; --background-color-970: ; --min-height-728: 284px; --max-height-728: ; --background-color-728: ; --min-height-320: 284px; --max-height-320: ; --background-color-320: ; /*JW player for Floating Player */ --jw_min_height_970: ; --jw_max_height_970: ; --jw_min_height_728: ; --jw_max_height_728: ; --jw_min_height_320: ; --jw_max_height_320: ; } </style> <style> :root { /* Nav menu */ --nav-menu-error: #b32d2e; /* Promo Unit Block HR color */ --promo-unit-hr: #d55d5d; /* Promo Unit Block Title After Color */ --promo-unit-title-after: #d04949; /* Promo Unit Block Title After Color */ --promo-unit-title: #322a2a; /* Promo Unit Block Title before Color */ --promo-unit-before-one: #e42e22; /* Promo Unit Block Title before Color */ --promo-unit-before-two: #f3f5f6; /* Promo Unit Block Title before Color */ --promo-unit-item-bg: #000; /* Deals Collection Block */ --deal-collection-productIndex-border-color: #12C7F1; --deal-collection-deal-header-color: #000; --deal-collection-deal--view-button--background-color: #21873A; --deal-collection-deal-price-color: #CD0912; /* Publication list pop-up pn edit edition page */ --publication-list-container-bg: rgba(255, 255, 255, 1); --publication-list-container-border: #111; --publication-list-container-bs: #222; --publication-list-bg:rgba(100, 100, 100, .6); --publication-list-popup-header-border: #ddd; --publication-list-popup-header-bg: #e9e9e9; --lineup-element-button-disabled: hsla(0,0%,100%,.4); /* LineUp Popover.*/ --lineup-popover-a-color: white; --lineup-popover-err-color: red; --lineup-popover-th-color: #d4d4d4; --lineup-popover-tr-color: #f2f2f2; --lineup-popover-paginate-a-active-color: #ddd; --lineup-popover-paginate-a-non-active-color: #006ba1; /* Slotting settings */ --slotting-settings-taxonomy-help-text-color: #808080; /* Author section top */ --sponsorship-brandpost-divider-line-color: #D8D8D8; /** Block - Product chart */ --product-chart--information-value--font-color: #2A7DA7; --product-chart--review-link--font-color: #2A7DA7; --product-chart--description--font-color: #4D4D4D; --product-chart--separator--background-color: #404040; /** Block - Product chart Pros and Cons */ --product-chart--pros-cons-title--font-color: #111111; --product-chart--pros-cons-border: 1px solid #ccc; /* Author Archive Page */ --author-archive-title: rgba(0, 0, 0, .87); --author-job-title: #000; --author-share-icons-divider-color: #D8D8D8; --author-share-icon-fill-color: #111; /* Sponsors index Page */ --sponsored-index-page-slug-background-color: #eee; --sponsorship-brandpost--title: 28px; --sponsorship-title--line-height: 32px; --uppercase-text: uppercase; --sponsor-eyebrow--font-color: #75757A; --sponsor-tooltip-learn-more--font-color: #111111; --sponsorship-brandpost--title-color: #111111; /* How to - at a glance block */ --how-to-at-glance-text-font-family: "canada-type-gibson", sans-serif; /* fonts */ --fira-sans-semibold: 700; /* headings */ --heading-three: 24px; --heading-four: 20px; --heading-three-line-height: 30px; /* Price Comparision search */ --price-comparision: #141414; --price-search-text: #757575; --search-field: #a6a4a4; --price-comparision--description: #4d4d4d; --price-comparison--default: #000; --sec--border-bottom: #b0b1b3; /* Pagination */ --pagination-color: #ED1B24; --pagination-hover-color: #e3e3e3; --pagination-bg-color: #FFFFFF; --pagination-text-color: #000000; --pagination-hover-bor-color: #2b7da7; /* Amazon Lightning Deal */ --amazon-lightning--text-font-size: 16px; --amazon-lightning--header-font-size: 24px; --amazon-lightning--header-font-color: #111111; --amazon-lightning--header-font-size-mobile: 20px; --amazon-lightning--text-font-size-mobile: 18px; } </style> <meta name="displaytype" content="article" /> <meta name="source" content="https://www.macworld.com/article/209863/howto-rip-cds.html" /> <link rel="canonical" href="https://www.macworld.com/article/209863/howto-rip-cds.html" /> <meta name="date" content="January 11, 2011" /> <meta property="og:type" content="article" /> <meta property="og:url" content="https://www.macworld.com/article/209863/howto-rip-cds.html" /> <meta property="og:site_name" content="Macworld" /> <meta property="og:title" content="How to rip CDs with iTunes" /> <meta property="og:description" content="You already have a load of music just waiting to make its way to your computer and iOS device--your CD library. Here are the steps for turning your discs into digital files." /> <meta property="twitter:card" content="summary_large_image" /> <meta property="twitter:url" content="https://www.macworld.com/article/209863/howto-rip-cds.html" /> <meta property="twitter:site" content="Macworld" /> <meta property="twitter:title" content="How to rip CDs with iTunes" /> <meta property="twitter:description" content="You already have a load of music just waiting to make its way to your computer and iOS device--your CD library. Here are the steps for turning your discs into digital files." /> <meta name="description" content="You already have a load of music just waiting to make its way to your computer and iOS device--your CD library. Here are the steps for turning your discs into digital files." /> <link rel="icon" href="https://www.macworld.com/wp-content/uploads/2021/03/cropped-macworld-favicon.png?w=32" sizes="32x32" /> <link rel="icon" href="https://www.macworld.com/wp-content/uploads/2021/03/cropped-macworld-favicon.png?w=192" sizes="192x192" /> <link rel="apple-touch-icon" href="https://www.macworld.com/wp-content/uploads/2021/03/cropped-macworld-favicon.png?w=180" /> <meta name="msapplication-TileImage" content="https://www.macworld.com/wp-content/uploads/2021/03/cropped-macworld-favicon.png?w=270" /> </head> <body class="post-template-default single single-post postid-209863 single-format-standard sticky-header"> <div id="gpt-leaderboard-1" class="ad page-ad has-ad-prefix ad-banner is-sticky" data-ad-template="banner" data-ofp="false" data-aaad="true" data-aa-adunit="/8456/IDG.US_CSMB_Macworld.com/software-professional_section" data-aa-targeting='{"pos":"ATF"}'> </div> <!-- Non AMP markup --> <div id="mobileNav"> <div class="partition"> <div class="mobileNav-close"> <div class="editor-switcher-tab"><input type="checkbox" id="sideNavEditorCheckbox"><label class="editor-switcher-tab-label" for="sideNavEditorCheckbox"><span class="globe-icon-span"><?xml version="1.0" encoding="UTF-8"?> <svg width="15px" height="15px" viewBox="0 0 15 15" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <title>g</title> <g id="CIO-Final" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g id="CIO---Menu-Open---Final" transform="translate(-32.000000, -48.000000)" fill="#020202" fill-rule="nonzero"> <path d="M39.2656077,62.6406211 C43.27927,62.6406211 46.5312154,59.3886757 46.5312154,55.3750134 C46.5312154,51.3613511 43.27927,48.1094057 39.2656077,48.1094057 C35.2519454,48.1094057 32,51.3613511 32,55.3750134 C32,59.3886757 35.2519454,62.6406211 39.2656077,62.6406211 Z M41.5536767,52.5625201 L36.9775386,52.5625201 C37.4667724,50.3388812 38.4775122,49.0469035 39.2656077,49.0469035 C40.0537032,49.0469035 41.064443,50.3388812 41.5536767,52.5625201 Z M44.9257562,52.5625201 L42.5087697,52.5625201 C42.2450985,51.2617305 41.8026996,50.154317 41.243142,49.3662501 C42.8544663,49.8994291 44.1786876,51.062518 44.9257562,52.5625201 Z M36.0224456,52.5625201 L33.6054592,52.5625201 C34.3525277,51.062518 35.676749,49.8994291 37.2880733,49.3662501 C36.731434,50.1513988 36.2861169,51.2588123 36.0224456,52.5625201 Z M41.717756,57.2500089 L36.8134594,57.2500089 C36.7343523,56.6699379 36.6874888,56.0459217 36.6874888,55.3750134 C36.6874888,54.7041051 36.7343523,54.0800889 36.8134594,53.5000179 L41.717756,53.5000179 C41.7968631,54.0800889 41.8437265,54.7041051 41.8437265,55.3750134 C41.8437265,56.0459217 41.7968631,56.6699379 41.717756,57.2500089 Z M35.8730434,57.2500089 L33.2216825,57.2500089 C33.0371183,56.6582078 32.9374978,56.0283264 32.9374978,55.3750134 C32.9374978,54.7217004 33.0371183,54.0918191 33.2216825,53.5000179 L35.8730434,53.5000179 C35.7968545,54.1006024 35.7499911,54.7246186 35.7499911,55.3750134 C35.7499911,56.0254082 35.7939363,56.6494244 35.8730434,57.2500089 Z M45.3095329,57.2500089 L42.658172,57.2500089 C42.7343609,56.6494244 42.7812243,56.0254082 42.7812243,55.3750134 C42.7812243,54.7246186 42.7372791,54.1006024 42.658172,53.5000179 L45.3095329,53.5000179 C45.494097,54.0918191 45.5937176,54.7217004 45.5937176,55.3750134 C45.5937176,56.0283264 45.494097,56.6582078 45.3095329,57.2500089 Z M37.2880733,61.3837767 C35.676749,60.8505977 34.3525277,59.6875067 33.6054592,58.1875067 L36.0224456,58.1875067 C36.2861169,59.4882963 36.7285158,60.5957098 37.2880733,61.3837767 Z M39.2656077,61.7031233 C38.4775122,61.7031233 37.4667724,60.4111457 36.9775386,58.1875067 L41.5536767,58.1875067 C41.064443,60.4111457 40.0537032,61.7031233 39.2656077,61.7031233 Z M41.243142,61.3837767 C41.7997813,60.598628 42.2450985,59.4912145 42.5087697,58.1875067 L44.9257562,58.1875067 C44.1786876,59.6875067 42.8544663,60.8505977 41.243142,61.3837767 Z" id="g"></path> </g> </g> </svg></span><span id="current-edition">English US Edition</span><span class="dropdown-down-arrow"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M151.5 347.8L3.5 201c-4.7-4.7-4.7-12.3 0-17l19.8-19.8c4.7-4.7 12.3-4.7 17 0L160 282.7l119.7-118.5c4.7-4.7 12.3-4.7 17 0l19.8 19.8c4.7 4.7 4.7 12.3 0 17l-148 146.8c-4.7 4.7-12.3 4.7-17 0z"/></svg></span></label><div class="editor-switcher-tab-content"><ul id="editor-switcher-tab-list-items" class="dropdown"><li class="edition">Edition</li><li><a class="edition-item " href="javascript:void(0);" data-href="" data-slug="en-gb" data-edition-id="8445">English UK</a></li><li><a class="edition-item current" href="javascript:void(0);" data-href="" data-slug="en-us" data-edition-id="7606">English US</a><span class="tick-mark-span"><?xml version="1.0" encoding="iso-8859-1"?> <!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve"> <g> <g> <path d="M504.502,75.496c-9.997-9.998-26.205-9.998-36.204,0L161.594,382.203L43.702,264.311c-9.997-9.998-26.205-9.997-36.204,0 c-9.998,9.997-9.998,26.205,0,36.203l135.994,135.992c9.994,9.997,26.214,9.99,36.204,0L504.502,111.7 C514.5,101.703,514.499,85.494,504.502,75.496z"/> </g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> </svg> </span></li></ul></div></div> <!-- AMP markup --> <a href="#" id="mobileNav-close-button" aria-label="Close mobile menu" role="button"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M193.94 256L296.5 153.44l21.15-21.15c3.12-3.12 3.12-8.19 0-11.31l-22.63-22.63c-3.12-3.12-8.19-3.12-11.31 0L160 222.06 36.29 98.34c-3.12-3.12-8.19-3.12-11.31 0L2.34 120.97c-3.12 3.12-3.12 8.19 0 11.31L126.06 256 2.34 379.71c-3.12 3.12-3.12 8.19 0 11.31l22.63 22.63c3.12 3.12 8.19 3.12 11.31 0L160 289.94 262.56 392.5l21.15 21.15c3.12 3.12 8.19 3.12 11.31 0l22.63-22.63c3.12-3.12 3.12-8.19 0-11.31L193.94 256z"/></svg> </a> </div> </div> <div class="mobileNav-menu-wrap"><ul id="menu-primary-nav-en-us" class="mobileNav-menu"><li id="menu-item-100000519-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/mac">Mac</a></li> <li id="menu-item-100000557-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/iphone">iPhone</a></li> <li id="menu-item-100000600-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/ipad">iPad</a></li> <li id="menu-item-100000603-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/apple-watch">Apple Watch</a></li> <li id="menu-item-100225690-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/airpods">AirPods</a></li> <li id="menu-item-100237469-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/vision">Vision Pro</a></li> <li id="menu-item-100202902-" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children inactive"><a>More</a><button class="sub-menu-open-button" aria-label="open-close"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M151.5 347.8L3.5 201c-4.7-4.7-4.7-12.3 0-17l19.8-19.8c4.7-4.7 12.3-4.7 17 0L160 282.7l119.7-118.5c4.7-4.7 12.3-4.7 17 0l19.8 19.8c4.7 4.7 4.7 12.3 0 17l-148 146.8c-4.7 4.7-12.3 4.7-17 0z"/></svg></button> <ul class="sub-menu"> <li id="menu-item-100000671-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/accessories">Accessories</a></li> <li id="menu-item-100000520-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/apple">Apple</a></li> <li id="menu-item-100000632-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/apple-tv">Apple TV</a></li> <li id="menu-item-100000654-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/audio">Audio</a></li> <li id="menu-item-100212301-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/security">Security</a></li> <li id="menu-item-100000690-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/software">Software</a></li> </ul> </li> <li id="menu-item-100075387-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/best-picks">Best Picks</a></li> <li id="menu-item-100211660-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/reviews">Reviews</a></li> <li id="menu-item-100001046-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/deals">Deals</a></li> <li id="menu-item-100059406-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/opinion">Opinion</a></li> <li id="menu-item-100195968-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/apple-rumors">Rumors</a></li> <li id="menu-item-100000831-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/newsletters/signup">Newsletter</a></li> <li id="menu-item-100063728-" class="menu-item menu-item-type-custom menu-item-object-custom inactive"><a href="https://simplecirc.com/subscribe/macworld">Digital Magazine – Subscribe</a></li> <li id="menu-item-100063729-" class="menu-item menu-item-type-custom menu-item-object-custom inactive"><a href="https://www.macworld.com/faq">Digital Magazine – Info</a></li> <li id="menu-item-100240041-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/smart-answers">Smart Answers</a></li> </ul></div> <!-- Non AMP markup --> </div> <div id="site-overlay"></div> <div id="page" class="site"> <a class="skip-link screen-reader-text" href="#primary">Skip to content</a> <header id="masthead" class="site-header"> <div id="primaryNav" class="primaryNav--article"> <div class="primaryNav-wrap"> <div class="primaryNav-left-wrap"> <ul class="primaryNav-left"> <li class="primaryNav-left--menu"> <!-- AMP markup --> <a href="#" id="mobileNav-open-button" aria-label="Open mobile menu" role="button"> <span>Menu</span> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"/></svg> </a> </li> <li class="primaryNav-left--logo"> <a href="https://www.macworld.com"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 234 41"><defs><path id="a" d="M.194.132h39.765v40.561H.194z"/></defs><g fill="none" fill-rule="evenodd"><path fill="#FFF" d="M31.098 39.136V17.504h-.28L20.564 34.912h-2.241L8.068 17.504h-.279v21.632H0V1.864h7.676l11.991 20.434h.113L31.715 1.864h7.452v37.272zM61.736 31.944v-2.67c-1.189-1.022-3.567-1.987-6.398-1.987-4.473 0-6.115 1.76-6.115 3.862 0 2.33 1.869 3.863 5.039 3.863 3.964 0 6.625-2.272 7.474-3.068M43.618 14.22c2.605-1.307 7.588-2.954 12.909-2.954 6.342 0 12.74 2.159 12.74 8.408v14.827c0 1.25.113 3.295.793 5.397h-7.474c-.283-.852-.51-2.159-.68-3.181-2.038 1.987-4.473 3.862-9.285 3.862-6.68 0-10.928-4.033-10.928-9.43 0-5.17 4.416-9.202 12.117-9.202 2.943 0 5.888.682 7.926 2.272v-2.784c0-2.898-2.49-4.205-5.83-4.205-3.511 0-7.928 1.535-9.965 2.614l-2.323-5.624m50.483 6.76c-2.265-2.214-4.869-3.294-7.077-3.294-4.077 0-7.361 3.182-7.361 8.237 0 5.056 3.51 8.465 7.644 8.465 2.775 0 5.322-1.705 7.417-3.75l4.643 4.658c-1.19 1.42-5.832 5.454-12.91 5.454-7.983 0-14.833-5.907-14.833-14.827 0-8.862 6.623-14.657 14.833-14.657 4.247 0 8.72 1.478 12.343 4.715l-4.699 5m30.124-8.805l4.983 17.724h.339l4.303-17.724h7.757l-8.776 27.722h-7.19l-4.814-16.985h-.34l-4.868 16.985h-7.134l-8.777-27.722h7.928l4.416 17.724h.339l4.983-17.724zm31.281 22.325c4.7 0 7.418-3.977 7.418-8.579 0-4.543-2.718-8.35-7.418-8.35-4.585 0-7.247 3.807-7.247 8.35 0 4.602 2.662 8.58 7.247 8.58m0-23.237c9.003 0 15.117 6.42 15.117 14.657 0 8.239-6.114 14.827-15.117 14.827-8.945 0-15.004-6.588-15.004-14.827 0-8.237 6.059-14.657 15.004-14.657m24.989 10.795v17.838h-7.587V20.015c0-2.33-.227-4.772-.793-7.84h6.907a40.91 40.91 0 01.567 4.148c1.698-2.84 3.68-5.057 7.247-5.057 1.415 0 3.284.398 4.247 1.137l-2.095 6.93c-.85-.34-2.718-.795-3.737-.795-1.981 0-3.228 1.533-4.756 3.522"/><g transform="translate(193.968)"><mask id="b" fill="#fff"><use xlink:href="#a"/></mask><path fill="#FFF" mask="url(#b)" d="M.194 39.898h7.618V.132H.194zm18.391-13.975c0 5.055 2.842 8.407 6.424 8.407 3.298 0 5.742-2.045 6.709-3.067V20.81c-1.99-1.932-4.434-3.124-6.709-3.124-3.639 0-6.424 3.182-6.424 8.237m14.213 13.975c-.17-.966-.285-2.33-.342-3.295-1.705 1.932-4.719 4.09-8.584 4.09-7.39 0-13.474-5.85-13.474-14.77 0-8.862 6.14-14.657 13.474-14.657 2.729 0 5.571 1.307 7.846 3.41V.13h7.618v31.871c0 2.273 0 4.658.625 7.896h-7.163"/></g></g></svg> </a> </li> </ul> </div> <div class="primaryNav-menu-wrap"><ul id="menu-primary-nav-en-us-1" class="primaryNav-menu is-dropdown"><li id="menu-item-100000519-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/mac">Mac</a></li> <li id="menu-item-100000557-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/iphone">iPhone</a></li> <li id="menu-item-100000600-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/ipad">iPad</a></li> <li id="menu-item-100000603-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/apple-watch">Apple Watch</a></li> <li id="menu-item-100225690-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/airpods">AirPods</a></li> <li id="menu-item-100237469-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/vision">Vision Pro</a></li> <li id="menu-item-100202902-" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children inactive"><a>More</a><button class="sub-menu-open-button" aria-label="open-close"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M151.5 347.8L3.5 201c-4.7-4.7-4.7-12.3 0-17l19.8-19.8c4.7-4.7 12.3-4.7 17 0L160 282.7l119.7-118.5c4.7-4.7 12.3-4.7 17 0l19.8 19.8c4.7 4.7 4.7 12.3 0 17l-148 146.8c-4.7 4.7-12.3 4.7-17 0z"/></svg></button> <ul class="sub-menu"> <li id="menu-item-100000671-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/accessories">Accessories</a></li> <li id="menu-item-100000520-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/apple">Apple</a></li> <li id="menu-item-100000632-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/apple-tv">Apple TV</a></li> <li id="menu-item-100000654-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/audio">Audio</a></li> <li id="menu-item-100212301-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/security">Security</a></li> <li id="menu-item-100000690-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/software">Software</a></li> </ul> </li> <li id="menu-item-100075387-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/best-picks">Best Picks</a></li> <li id="menu-item-100211660-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/reviews">Reviews</a></li> <li id="menu-item-100001046-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/deals">Deals</a></li> <li id="menu-item-100059406-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/opinion">Opinion</a></li> <li id="menu-item-100195968-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/apple-rumors">Rumors</a></li> <li id="menu-item-100000831-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/newsletters/signup">Newsletter</a></li> <li id="menu-item-100063728-" class="menu-item menu-item-type-custom menu-item-object-custom inactive"><a href="https://simplecirc.com/subscribe/macworld">Digital Magazine – Subscribe</a></li> <li id="menu-item-100063729-" class="menu-item menu-item-type-custom menu-item-object-custom inactive"><a href="https://www.macworld.com/faq">Digital Magazine – Info</a></li> <li id="menu-item-100240041-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/smart-answers">Smart Answers</a></li> </ul></div> <div class="primaryNav-actions-wrap"> <ul class="primaryNav-actions"> <li class="primaryNav-action--search"> <!-- AMP markup --> <a href="#" id="siteSearch-open-button" aria-label="Open site search" role="button"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M508.5 468.9L387.1 347.5c-2.3-2.3-5.3-3.5-8.5-3.5h-13.2c31.5-36.5 50.6-84 50.6-136C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c52 0 99.5-19.1 136-50.6v13.2c0 3.2 1.3 6.2 3.5 8.5l121.4 121.4c4.7 4.7 12.3 4.7 17 0l22.6-22.6c4.7-4.7 4.7-12.3 0-17zM208 368c-88.4 0-160-71.6-160-160S119.6 48 208 48s160 71.6 160 160-71.6 160-160 160z"/></svg> </a> </li> </ul> </div> </div> <div id="siteSearch"> <div class="siteSearch-wrap"> <div class="siteSearch-close"> <a href="#" id="siteSearch-close-button" aria-label="Close site search" role="button"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M193.94 256L296.5 153.44l21.15-21.15c3.12-3.12 3.12-8.19 0-11.31l-22.63-22.63c-3.12-3.12-8.19-3.12-11.31 0L160 222.06 36.29 98.34c-3.12-3.12-8.19-3.12-11.31 0L2.34 120.97c-3.12 3.12-3.12 8.19 0 11.31L126.06 256 2.34 379.71c-3.12 3.12-3.12 8.19 0 11.31l22.63 22.63c3.12 3.12 8.19 3.12 11.31 0L160 289.94 262.56 392.5l21.15 21.15c3.12 3.12 8.19 3.12 11.31 0l22.63-22.63c3.12-3.12 3.12-8.19 0-11.31L193.94 256z"/></svg> </a> </div> <label class="siteSearch-help-text" for="gsc-i-id1">Type your search and hit enter</label> <div class="gcse-searchbox-only" data-resultsUrl="https://www.macworld.com/search"></div> </div> </div> </div> <div id="secondaryNav"> <div class="secondaryNav-wrap"> <span class="secondaryNav-title"> HOT TOPICS </span> <div class="secondaryNav-menu-wrap"> <div class="secondaryNav-container"><ul id="menu-hot-topics-menu-en-us" class="secondaryNav-menu"><li id="menu-item-100266226" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-100266226"><a href="https://www.macworld.com/article/1354114/new-iphone-se-release-date-se4-16e-design-specs-features.html">iPhone 16e</a></li> <li id="menu-item-100272099" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-100272099"><a href="https://www.macworld.com/article/1484151/apple-spring-event-date-time-how-to-watch-rumors.html">Apple spring event</a></li> <li id="menu-item-100266227" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-100266227"><a href="https://www.macworld.com/article/2303200/m4-macbook-air-design-price-specs-release.html">M4 MacBook Air</a></li> <li id="menu-item-100243622" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-100243622"><a href="https://www.macworld.com/article/2158175/ipad-11th-gen-2025-release-date.html">11th-gen iPad</a></li> <li id="menu-item-100266228" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-100266228"><a href="https://www.macworld.com/article/2204696/m3-mac-studio-design-processor-specs-price.html">M4 Mac Studio</a></li> <li id="menu-item-100271901" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-100271901"><a href="https://www.macworld.com/article/2393967/iphone-17-release-date-specs-features-rumors.html">iPhone 17</a></li> <li id="menu-item-100206940" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-100206940"><a href="https://www.macworld.com/article/668850/best-mac-antivirus-software.html">Best Mac antivirus</a></li> <li id="menu-item-100080820" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-100080820"><a href="https://www.macworld.com/article/231047/best-vpn-for-mac.html">Best Mac VPN</a></li> </ul></div> </div> <div class="secondaryNav-social-wrap"> <ul class="secondaryNav-social"> <li class="secondaryNav-social--facebook"> <a href="https://www.facebook.com/Macworld/" target="_blank" rel="noopener noreferrer nofollow" title="Follow us on Facebook"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M504 256C504 119 393 8 256 8S8 119 8 256c0 123.78 90.69 226.38 209.25 245V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.28c-30.8 0-40.41 19.12-40.41 38.73V256h68.78l-11 71.69h-57.78V501C413.31 482.38 504 379.78 504 256z"/></svg> </a> </li> <li class="secondaryNav-social--twitter"> <a href="https://twitter.com/macworld" target="_blank" rel="noopener noreferrer nofollow" title="Follow us on X"> <svg version="1.1" id="Layer_1" xmlns:x="ns_extend;" xmlns:i="ns_ai;" xmlns:graph="ns_graphs;" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 49.8 45" style="enable-background:new 0 0 49.8 45;" xml:space="preserve"> <metadata> <sfw xmlns="ns_sfw;"> <slices> </slices> <sliceSourceBounds bottomLeftOrigin="true" height="45" width="49.8" x="-67.2" y="-209.8"> </sliceSourceBounds> </sfw> </metadata> <g> <path d="M39.2,0h7.6L30.2,19.1L49.8,45H34.4l-12-15.7L8.6,45H1l17.8-20.4L0,0h15.8l10.9,14.4L39.2,0z M36.5,40.4h4.2L13.5,4.3H8.9 L36.5,40.4z"> </path> </g> </svg> </a> </li> <li class="secondaryNav-social--youtube"> <a href="https://www.youtube.com/user/macworld" target="_blank" rel="noopener noreferrer nofollow" title="Follow us on YouTube"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z"/></svg> </a> </li> <li class="secondaryNav-social--youtube"> <a href="https://www.linkedin.com/company/macworld/" target="_blank" rel="noopener noreferrer nofollow" title="Follow us on LinkedIn"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z"/></svg> </a> </li> <li class="secondaryNav-social--whatsapp"> <a href="https://whatsapp.com/channel/0029VagNnbe002TCyUyKte2j" target="_blank" rel="noopener noreferrer nofollow" title="Follow us on WhatsApp"> <svg width="360" height="362" viewBox="0 0 360 362" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <path fill-rule="evenodd" clip-rule="evenodd" d="M307.546 52.5655C273.709 18.685 228.706 0.0171895 180.756 0C81.951 0 1.53846 80.404 1.50408 179.235C1.48689 210.829 9.74646 241.667 25.4319 268.844L0 361.736L95.0236 336.811C121.203 351.096 150.683 358.616 180.679 358.625H180.756C279.544 358.625 359.966 278.212 360 179.381C360.017 131.483 341.392 86.4547 307.546 52.5741V52.5655ZM180.756 328.354H180.696C153.966 328.346 127.744 321.16 104.865 307.589L99.4242 304.358L43.034 319.149L58.0834 264.168L54.5423 258.53C39.6304 234.809 31.749 207.391 31.7662 179.244C31.8006 97.1036 98.6334 30.2707 180.817 30.2707C220.61 30.2879 258.015 45.8015 286.145 73.9665C314.276 102.123 329.755 139.562 329.738 179.364C329.703 261.513 262.871 328.346 180.756 328.346V328.354ZM262.475 216.777C257.997 214.534 235.978 203.704 231.869 202.209C227.761 200.713 224.779 199.966 221.796 204.452C218.814 208.939 210.228 219.029 207.615 222.011C205.002 225.002 202.389 225.372 197.911 223.128C193.434 220.885 179.003 216.158 161.891 200.902C148.578 189.024 139.587 174.362 136.975 169.875C134.362 165.389 136.7 162.965 138.934 160.739C140.945 158.728 143.412 155.505 145.655 152.892C147.899 150.279 148.638 148.406 150.133 145.423C151.629 142.432 150.881 139.82 149.764 137.576C148.646 135.333 139.691 113.287 135.952 104.323C132.316 95.5909 128.621 96.777 125.879 96.6309C123.266 96.5019 120.284 96.4762 117.293 96.4762C114.302 96.4762 109.454 97.5935 105.346 102.08C101.238 106.566 89.6691 117.404 89.6691 139.441C89.6691 161.478 105.716 182.785 107.959 185.776C110.202 188.767 139.544 234.001 184.469 253.408C195.153 258.023 203.498 260.782 210.004 262.845C220.731 266.257 230.494 265.776 238.212 264.624C246.816 263.335 264.71 253.786 268.44 243.326C272.17 232.866 272.17 223.893 271.053 222.028C269.936 220.163 266.945 219.037 262.467 216.794L262.475 216.777Z" fill="#111B21"> </path> </svg> </a> </li> </ul> </div> </div> </div> <div> <div class="affiliate-disclaimer"><p>When you purchase through links in our articles, we may earn a small commission. This doesn't affect our <a href="https://www.macworld.com/about/affiliate-link-policy"><u>editorial independence</u></a>.</p></div></div> </header><!-- #masthead --> <div id="gpt-contenthub-article-1" class="ad page-ad has-ad-prefix ad-article ad-contenthubartbanner" data-ad-template="gpt-contenthub-article" data-ofp="false" data-aaad="true" data-aa-adunit="/8456/IDG.US_CSMB_Macworld.com/software-professional_section" data-aa-targeting='{"pos":"gpt-contenthub"}'> </div> <main id="primary" class="site-main"> <div class="single-breadcrumb"> <a href=https://www.macworld.com>Home / </a><a href=https://www.macworld.com/software>Software / </a><a href=https://www.macworld.com/software/how-to>How-To</a> </div> <article id="post-209863" class="post-legacy post-209863 post type-post status-publish format-standard category-software-professional languages-en editions-global publication-macworld publication-us-default story_types-how-to article_type-default blogs-ipodblog origin-onecms"> <header class="entry-header"> <div class="entry-eyebrow entry-eyebrow--default"> Playlist </div> <h1 class="entry-title">How to rip CDs with iTunes</h1> <div class="subheadline"> </div> <div class="entry-meta"> <div class="meta-text"> <div class="meta-text-top"> <div class="blog-title"> Playlist </div> </div> <div class="meta-text-bottom"> <span class="byline"> By <span class="author vcard"><a href="https://www.macworld.com/author/cbreen">Christopher Breen</a></span>, <span class="job-title">Contributor, Macworld </span> </span> <span class="posted-on">JAN 11, 2011 9:00 pm PST</span> </div> </div> </div><!-- .entry-meta --> </header><!-- .entry-header --> <!-- <hr class="wp-block-separator" /> --> <section class='layout--right-rail'> <div class="wp-block-columns"> <div class="wp-block-column"> <div class="entry-content "> <div id="post-toc"></div> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> <div id="link_wrapped_content"> <body><section class="wp-block-bigbite-multi-title"><div class="container"></div></section> <div class="legacy_content"><p>Much as Apple and Amazon would be thrilled if you populated your iTunes library with nothing but tracks purchased from the iTunes Store and Amazon MP3, there&rsquo;s a very good chance that you already have a load of music just waiting to make its way to your computer and iOS device&mdash;your CD library. Here are the steps for turning your discs into digital files.</p><h3 class="subhed" id="step-one-check-your-itunes-settings">Step One: Check your iTunes settings</h3><p><figure class="image medium"><img decoding="async" src="https://images.macworld.com/images/howto/graphics/156861-stp1cdrip_original.jpg" alt="" height="" width="" loading="lazy"></figure></p><div class="fake_sidebar_front"></div><div id="gpt-leaderboardmainbod-1" class="ad page-ad has-ad-prefix ad-article" data-ad-template="article" data-ofp="false" data-aaad="true" data-aa-adunit="/8456/IDG.US_CSMB_Macworld.com/software-professional_section" data-aa-targeting='{"pos":"BTF1"}'> </div><p>By default, iTunes will import (or <em>rip</em>) CD tracks using the AAC encoder at 256 kbps. This is a &ldquo;lossy&rdquo; compression format (meaning iTunes makes your tracks consume less space by removing audio data that you shouldn&rsquo;t be able to hear). However, it&rsquo;s also a lossy compression format set at a high bit rate, which means it should be extremely difficult (if not impossible) to detect any difference between the original and ripped versions.</p><p>If you&rsquo;d like to change the encoding settings&mdash;either to save more space by choosing a smaller bit rate such as 128 kbps or to get a higher quality file by choosing a lossless encoder such as Apple Lossless or AIFF&mdash;choose Preferences from the iTunes menu and click the General tab.</p><div class="jwPlayer--floatingContainer"> <div id="jwplayer--floatingVideo" class="jwplayer" data-media-id="O6tSMQIo"> </div> </div><p>To change the import settings, click on the appropriately named Import Settings button. In the resulting Import Settings window you can choose AAC Encoder, AIFF Encoder, Apple Lossless Encoder, MP3 Encoder, or WAV Encoder from the Import Using pop-up menu. AAC and MP3 are both lossy encoders. The Apple Lossless encoder cuts file size approximately in half without losing audio quality. The AIFF and WAV encoders maintain audio files at their original size and resolution. (Using these encoders a 4-minute track is approximately 40MB.)</p><p>When you select either AAC Encoder or MP3 Encoder in the Import Using pop-up menu you can choose a different bit rate in the Setting pop-up menu below. When you choose AAC Encoder your preset choices are High Quality (128 kbps), iTunes Plus (256 kbps), or Spoken Podcast (64 kbps). Choose MP3 Encoder and your preset choices are Good Quality (128 kbps), High Quality (160 kbps), and Higher Quality (192 kbps). For each encoder you also have a Custom option. Select it and a new window opens where you can choose from among a variety of bit rates. Again, the higher the bit rate, the better the audio quality and the bigger the file.</p><div id="taboola-mid-article-thumbnails"></div><script type="text/javascript">window._taboola = window._taboola || []; _taboola.push({mode: 'alternating-thumbnails-stream-macworld',container: 'taboola-mid-article-thumbnails',placement: 'Mid Article Thumbnails',target_type: 'mix'});</script><p>You can also view iTunes&rsquo; Import Settings by selecting the CD in iTunes&rsquo; Source list and clicking the Import Settings button at the bottom-right of the iTunes window. Additionally, with Doug Adams&rsquo; free <a href="https://go.skimresources.com?id=111346X1569486&amp;xs=1&amp;url=https://dougscripts.com/182&amp;xcust=1-1-209863-1-0-0-0-0&amp;sref=https://www.macworld.com/article/209863/howto-rip-cds.html" rel="nofollow" data-subtag="1-1-209863-1-0-0-0-0" data-domain-name="dougscripts" target="_blank">Rip A Few My Way</a> AppleScript installed, you can invoke the script from iTunes&rsquo; AppleScript menu and choose the encoder you&rsquo;d like to use for selected CD tracks.</p><h3 class="subhed" id="step-two-insert-and-select-a-cd">Step Two: Insert and select a CD</h3><p><figure class="image large"><img decoding="async" src="https://images.macworld.com/images/howto/graphics/156861-step2ripcds_original.jpg" alt="" height="" width="" loading="lazy"></figure></p><div id="gpt-leaderboardmainbod-2" class="ad page-ad has-ad-prefix ad-article" data-ad-template="article" data-ofp="false" data-aaad="true" data-aa-adunit="/8456/IDG.US_CSMB_Macworld.com/software-professional_section" data-aa-targeting='{"pos":"BTF2"}'> </div><p>Insert a music CD into your Mac&rsquo;s media drive. By default, iTunes will launch, the CD&rsquo;s name will appear in iTunes&rsquo; Source list and be selected, and the CD&rsquo;s track names will appear in iTunes&rsquo; main window.</p><p>If the CD&rsquo;s track names don&rsquo;t appear it either means that your computer isn&rsquo;t able to communicate via the Internet (which is how iTunes obtains album, artist, and track names) or the CD is one that&rsquo;s not recognized by iTunes (a &ldquo;mix tape&rdquo; CD a friend has created, for example). For those CDs that don&rsquo;t have track names automatically added, you can click on individual titles and add names manually.</p><div id="miso-smart-answers-faq"></div><p>Also, by default, a window appears that reads:</p><p><em>Would you like to import the CD &ldquo;</em>name of CD&rdquo;<em> into your iTunes library?</em></p><div id="gpt-leaderboardmainbod-3" class="ad page-ad has-ad-prefix ad-article" data-ad-template="article" data-ofp="false" data-aaad="true" data-aa-adunit="/8456/IDG.US_CSMB_Macworld.com/software-professional_section" data-aa-targeting='{"pos":"BTF3"}'> </div><p>Click Yes to import all the individual tracks on the CD or No if you&rsquo;d prefer to not import the tracks at all (or do it at another time).</p><p>If you click No and later wish to import the tracks from the CD, select the CD in iTunes&rsquo; Source list and at the bottom-right of the iTunes window click on the Import CD entry. iTunes will begin ripping the CD and adding the tracks to the iTunes library.</p><div id="miso-ipp"></div><p>If you&rsquo;d like iTunes to rip just selected tracks, uncheck the tracks that you don&rsquo;t want to rip.</p><h3 class="subhed" id="step-three-optionally-join-tracks">Step Three: Optionally join tracks</h3><p><figure class="image large"><img decoding="async" src="https://images.macworld.com/images/howto/graphics/156861--step3joincd_original.jpg" alt="" height="315" width="586" loading="lazy"></figure></p><div id="gpt-leaderboardmainbod-4" class="ad page-ad has-ad-prefix ad-article" data-ad-template="article" data-ofp="false" data-aaad="true" data-aa-adunit="/8456/IDG.US_CSMB_Macworld.com/software-professional_section" data-aa-targeting='{"pos":"BTF4"}'> </div><p>There may be times when you want to combine multiple tracks into a single track. For example, if you have an audiobook CD that includes lots of short files that you&rsquo;d like to play as a single larger file, or a series of live songs that segue smoothly and you&rsquo;d like to keep together. To combine tracks, simply select the files you want to join and choose Join from iTunes&rsquo; Advanced menu. iTunes will place a bracket next to the tracks that will be joined when you click Import CD.</p></div> <div class="wp-block-product-chart product-chart"> <div class="product-chart-separator"></div> <div class="wp-block-product-chart-item product-chart-item "> <div class="product-chart-item__title-wrapper"> <h2 data-p_name="iTunes 10" class="product-chart-item__title-wrapper--title product-chart-title " id="itunes-10"> iTunes 10 </h2> </div> <div class="product-chart-item__information "> <div class="product-widget__information--rrp-wrapper"> <span class="product-widget__information--rrp-label"> </span> <span class="product-widget__information--rrp-value"> </span> </div> </div> <p class="product-description"> </p> Read our full <a class="product-chart-item__review-link" href="https://www.macworld.com/article/207495/iutnes10_1stlook.html" score="3.5"> iTunes 10 review </a> </div> <div id="gpt-leaderboardmainbod-5" class="ad page-ad has-ad-prefix ad-article" data-ad-template="article" data-ofp="false" data-aaad="true" data-aa-adunit="/8456/IDG.US_CSMB_Macworld.com/software-professional_section" data-aa-targeting='{"pos":"BTF5"}'> </div> </div> </body></div> <div id="newsletter-end" class="newsletter"></div><div id="nativo2" class="nativo"></div> <div class="article-author-box" data-ga="article-footer-author"> <h3 class="article_author_head"> <a href="https://www.macworld.com/author/cbreen" rel="author" > Author: Christopher Breen</a>, Contributor, Macworld </h3> <div class="article_author_area"> <div class="article_author_box_bio"> <p>Chris has covered technology and media since the latter days of the Reagan Administration. In addition to his journalistic endeavors, he's a professional musician in the San Francisco Bay Area.</p> </div> <div class="article_author_recent_stories"> <h3 class="recent_stories_head"> Recent stories by Christopher Breen:</h3> <ul> <li> <a href="https://www.macworld.com/article/224724/article-592.html"> How to remove MacKeeper Part II (the pop-up edition) </a> </li> <li> <a href="https://www.macworld.com/article/224855/how-to-verify-a-time-machine-backup.html"> How to verify a Time Machine backup </a> </li> <li> <a href="https://www.macworld.com/article/224831/tips-for-maintaining-your-media-for-eternity-and-beyond.html"> Tips for maintaining your media for eternity and beyond </a> </li> </ul> </div> </div> </div> </div> </div> <div class="wp-block-column"> <div id="gpt-rightrail-1" class="ad page-ad ad-right-rail is-sticky has-ad-prefix" data-ad-template="right_rail" data-ofp="false" data-aaad="true" data-aa-adunit="/8456/IDG.US_CSMB_Macworld.com/software-professional_section" data-aa-targeting='{"pos":"ATF1"}'> </div> </div> </div> </section> </article><!-- #post-209863 --> </main><!-- #main --> <div id="gpt-leaderboardfoot-1" class="ad page-ad has-ad-prefix ad-footer" data-ad-template="footer" data-ofp="false" data-aaad="true" data-aa-adunit="/8456/IDG.US_CSMB_Macworld.com/software-professional_section" data-aa-targeting='{"pos":"BTF"}'> </div><div class="taboola_container"><div id="taboola-feed-below-article-thumbnails" data-src="https://www.macworld.com/article/209863/howto-rip-cds.html" data-widget-id="alternating-thumbnails-a"></div></div> <script type="text/javascript"> window._taboola = window._taboola || []; _taboola.push({'article':'auto'}); _taboola.push({ mode: 'alternating-thumbnails-a', container: 'taboola-feed-below-article-thumbnails', placement: 'Feed Below Article Thumbnails', target_type: 'mix' }); </script> <footer class="primaryFooter"> <div class="primaryFooter-wrap"> <div class ='primaryFooter-return-top' title="Return to Top"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path d="M35.5 279.9l148-148.4c4.7-4.7 12.3-4.7 17 0l148 148.4c4.7 4.7 4.7 12.3 0 17l-19.6 19.6c-4.8 4.8-12.5 4.7-17.1-.2L218 219.2V468c0 6.6-5.4 12-12 12h-28c-6.6 0-12-5.4-12-12V219.2l-93.7 97.1c-4.7 4.8-12.4 4.9-17.1.2l-19.6-19.6c-4.8-4.7-4.8-12.3-.1-17zM12 84h360c6.6 0 12-5.4 12-12V44c0-6.6-5.4-12-12-12H12C5.4 32 0 37.4 0 44v28c0 6.6 5.4 12 12 12z"/> </div> <div class="primaryFooter-top"> <div class="primaryFooter-top--logo"> <a href="https://www.macworld.com" title="Macworld" aria-label="Macworld is your best source for all things Apple. We give you the scoop on what&#039;s new, what&#039;s best and how to make the most out of the products you love."> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 234 41"><defs><path id="a" d="M.194.132h39.765v40.561H.194z"/></defs><g fill="none" fill-rule="evenodd"><path fill="#FFF" d="M31.098 39.136V17.504h-.28L20.564 34.912h-2.241L8.068 17.504h-.279v21.632H0V1.864h7.676l11.991 20.434h.113L31.715 1.864h7.452v37.272zM61.736 31.944v-2.67c-1.189-1.022-3.567-1.987-6.398-1.987-4.473 0-6.115 1.76-6.115 3.862 0 2.33 1.869 3.863 5.039 3.863 3.964 0 6.625-2.272 7.474-3.068M43.618 14.22c2.605-1.307 7.588-2.954 12.909-2.954 6.342 0 12.74 2.159 12.74 8.408v14.827c0 1.25.113 3.295.793 5.397h-7.474c-.283-.852-.51-2.159-.68-3.181-2.038 1.987-4.473 3.862-9.285 3.862-6.68 0-10.928-4.033-10.928-9.43 0-5.17 4.416-9.202 12.117-9.202 2.943 0 5.888.682 7.926 2.272v-2.784c0-2.898-2.49-4.205-5.83-4.205-3.511 0-7.928 1.535-9.965 2.614l-2.323-5.624m50.483 6.76c-2.265-2.214-4.869-3.294-7.077-3.294-4.077 0-7.361 3.182-7.361 8.237 0 5.056 3.51 8.465 7.644 8.465 2.775 0 5.322-1.705 7.417-3.75l4.643 4.658c-1.19 1.42-5.832 5.454-12.91 5.454-7.983 0-14.833-5.907-14.833-14.827 0-8.862 6.623-14.657 14.833-14.657 4.247 0 8.72 1.478 12.343 4.715l-4.699 5m30.124-8.805l4.983 17.724h.339l4.303-17.724h7.757l-8.776 27.722h-7.19l-4.814-16.985h-.34l-4.868 16.985h-7.134l-8.777-27.722h7.928l4.416 17.724h.339l4.983-17.724zm31.281 22.325c4.7 0 7.418-3.977 7.418-8.579 0-4.543-2.718-8.35-7.418-8.35-4.585 0-7.247 3.807-7.247 8.35 0 4.602 2.662 8.58 7.247 8.58m0-23.237c9.003 0 15.117 6.42 15.117 14.657 0 8.239-6.114 14.827-15.117 14.827-8.945 0-15.004-6.588-15.004-14.827 0-8.237 6.059-14.657 15.004-14.657m24.989 10.795v17.838h-7.587V20.015c0-2.33-.227-4.772-.793-7.84h6.907a40.91 40.91 0 01.567 4.148c1.698-2.84 3.68-5.057 7.247-5.057 1.415 0 3.284.398 4.247 1.137l-2.095 6.93c-.85-.34-2.718-.795-3.737-.795-1.981 0-3.228 1.533-4.756 3.522"/><g transform="translate(193.968)"><mask id="b" fill="#fff"><use xlink:href="#a"/></mask><path fill="#FFF" mask="url(#b)" d="M.194 39.898h7.618V.132H.194zm18.391-13.975c0 5.055 2.842 8.407 6.424 8.407 3.298 0 5.742-2.045 6.709-3.067V20.81c-1.99-1.932-4.434-3.124-6.709-3.124-3.639 0-6.424 3.182-6.424 8.237m14.213 13.975c-.17-.966-.285-2.33-.342-3.295-1.705 1.932-4.719 4.09-8.584 4.09-7.39 0-13.474-5.85-13.474-14.77 0-8.862 6.14-14.657 13.474-14.657 2.729 0 5.571 1.307 7.846 3.41V.13h7.618v31.871c0 2.273 0 4.658.625 7.896h-7.163"/></g></g></svg> </a> </div> <div class="primaryFooter-top--tagline"> Macworld is your best source for all things Apple. We give you the scoop on what&#039;s new, what&#039;s best and how to make the most out of the products you love. </div> <div class="primaryFooter-top-social-wrap"> <ul class="primaryFooter-top-social"> <li class="primaryFooter-top-social--facebook"> <a href="https://www.facebook.com/Macworld/" target="_blank" rel="noopener noreferrer nofollow" title="Follow us on Facebook"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M504 256C504 119 393 8 256 8S8 119 8 256c0 123.78 90.69 226.38 209.25 245V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.28c-30.8 0-40.41 19.12-40.41 38.73V256h68.78l-11 71.69h-57.78V501C413.31 482.38 504 379.78 504 256z"/></svg> </a> </li> <li class="primaryFooter-top-social--twitter"> <a href="https://twitter.com/macworld" target="_blank" rel="noopener noreferrer nofollow" title="Follow us on X"> <svg version="1.1" id="Layer_1" xmlns:x="ns_extend;" xmlns:i="ns_ai;" xmlns:graph="ns_graphs;" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 49.8 45" style="enable-background:new 0 0 49.8 45;" xml:space="preserve"> <metadata> <sfw xmlns="ns_sfw;"> <slices> </slices> <sliceSourceBounds bottomLeftOrigin="true" height="45" width="49.8" x="-67.2" y="-209.8"> </sliceSourceBounds> </sfw> </metadata> <g> <path d="M39.2,0h7.6L30.2,19.1L49.8,45H34.4l-12-15.7L8.6,45H1l17.8-20.4L0,0h15.8l10.9,14.4L39.2,0z M36.5,40.4h4.2L13.5,4.3H8.9 L36.5,40.4z"> </path> </g> </svg> </a> </li> <li class="primaryFooter-top-social--youtube"> <a href="https://www.youtube.com/user/macworld" target="_blank" rel="noopener noreferrer nofollow" title="Follow us on YouTube"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z"/></svg> </a> </li> <li class="primaryFooter-top-social--linkedin"> <a href="https://www.linkedin.com/company/macworld/" target="_blank" rel="noopener noreferrer nofollow" title="Follow us on LinkedIn"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z"/></svg> </a> </li> <li class="primaryFooter-top-social--whatsapp"> <a href="https://whatsapp.com/channel/0029VagNnbe002TCyUyKte2j" target="_blank" rel="noopener noreferrer nofollow" title="Follow us on WhatsApp"> <svg width="360" height="362" viewBox="0 0 360 362" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <path fill-rule="evenodd" clip-rule="evenodd" d="M307.546 52.5655C273.709 18.685 228.706 0.0171895 180.756 0C81.951 0 1.53846 80.404 1.50408 179.235C1.48689 210.829 9.74646 241.667 25.4319 268.844L0 361.736L95.0236 336.811C121.203 351.096 150.683 358.616 180.679 358.625H180.756C279.544 358.625 359.966 278.212 360 179.381C360.017 131.483 341.392 86.4547 307.546 52.5741V52.5655ZM180.756 328.354H180.696C153.966 328.346 127.744 321.16 104.865 307.589L99.4242 304.358L43.034 319.149L58.0834 264.168L54.5423 258.53C39.6304 234.809 31.749 207.391 31.7662 179.244C31.8006 97.1036 98.6334 30.2707 180.817 30.2707C220.61 30.2879 258.015 45.8015 286.145 73.9665C314.276 102.123 329.755 139.562 329.738 179.364C329.703 261.513 262.871 328.346 180.756 328.346V328.354ZM262.475 216.777C257.997 214.534 235.978 203.704 231.869 202.209C227.761 200.713 224.779 199.966 221.796 204.452C218.814 208.939 210.228 219.029 207.615 222.011C205.002 225.002 202.389 225.372 197.911 223.128C193.434 220.885 179.003 216.158 161.891 200.902C148.578 189.024 139.587 174.362 136.975 169.875C134.362 165.389 136.7 162.965 138.934 160.739C140.945 158.728 143.412 155.505 145.655 152.892C147.899 150.279 148.638 148.406 150.133 145.423C151.629 142.432 150.881 139.82 149.764 137.576C148.646 135.333 139.691 113.287 135.952 104.323C132.316 95.5909 128.621 96.777 125.879 96.6309C123.266 96.5019 120.284 96.4762 117.293 96.4762C114.302 96.4762 109.454 97.5935 105.346 102.08C101.238 106.566 89.6691 117.404 89.6691 139.441C89.6691 161.478 105.716 182.785 107.959 185.776C110.202 188.767 139.544 234.001 184.469 253.408C195.153 258.023 203.498 260.782 210.004 262.845C220.731 266.257 230.494 265.776 238.212 264.624C246.816 263.335 264.71 253.786 268.44 243.326C272.17 232.866 272.17 223.893 271.053 222.028C269.936 220.163 266.945 219.037 262.467 216.794L262.475 216.777Z" fill="#111B21"> </path> </svg> </a> </li> </ul> </div> </div> <div class="primaryFooter-bottom"> <div class="primaryFooter-menu-wrap"><ul id="menu-footer-primary-menu-en-us" class="primaryFooter-menu"><li id="menu-item-100000714-" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children inactive"><a>POLICIES</a><button class="sub-menu-open-button" aria-label="open-close"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M151.5 347.8L3.5 201c-4.7-4.7-4.7-12.3 0-17l19.8-19.8c4.7-4.7 12.3-4.7 17 0L160 282.7l119.7-118.5c4.7-4.7 12.3-4.7 17 0l19.8 19.8c4.7 4.7 4.7 12.3 0 17l-148 146.8c-4.7 4.7-12.3 4.7-17 0z"/></svg></button> <ul class="sub-menu"> <li id="menu-item-100000706-" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-privacy-policy inactive"><a href="https://www.macworld.com/about/privacy">Privacy Policy</a></li> <li id="menu-item-100000707-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/about/cookie-policy">Cookie Policy</a></li> <li id="menu-item-100217218-" class="menu-item menu-item-type-custom menu-item-object-custom inactive"><a href="https://foundryco.com/copyright-notice/">Copyright Notice</a></li> <li id="menu-item-100133416-" class="menu-item menu-item-type-custom menu-item-object-custom inactive"><a href="https://www.macworld.com/about/member-preferences#cookie">European Privacy Settings</a></li> <li id="menu-item-100000708-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/about/member-preferences">Member Preferences</a></li> <li id="menu-item-100000709-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/about/affiliate-link-policy">Editorial Independence</a></li> <li id="menu-item-100068101-" class="menu-item menu-item-type-custom menu-item-object-custom inactive"><a href="https://info.wrightsmedia.com/foundry-media-licensing">Licensing & Eprints</a></li> <li id="menu-item-100000710-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/about/ccpa">California: Do not sell my Personal Info</a></li> </ul> </li> </ul></div><div class="primaryFooter-menu-wrap"><ul id="menu-secondary-footer-menu-en-us" class="primaryFooter-menu"><li id="menu-item-100000716-" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children inactive"><a>ABOUT</a><button class="sub-menu-open-button" aria-label="open-close"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M151.5 347.8L3.5 201c-4.7-4.7-4.7-12.3 0-17l19.8-19.8c4.7-4.7 12.3-4.7 17 0L160 282.7l119.7-118.5c4.7-4.7 12.3-4.7 17 0l19.8 19.8c4.7 4.7 4.7 12.3 0 17l-148 146.8c-4.7 4.7-12.3 4.7-17 0z"/></svg></button> <ul class="sub-menu"> <li id="menu-item-100000717-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/about">About Us</a></li> <li id="menu-item-100000722-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/about/contact">Contact Us</a></li> <li id="menu-item-100000862-" class="menu-item menu-item-type-custom menu-item-object-custom inactive"><a href="https://foundryco.com/our-brands/macworld/">Advertise</a></li> <li id="menu-item-100000724-" class="menu-item menu-item-type-custom menu-item-object-custom inactive"><a href="https://foundryco.com/idg-ad-choices/">Ad Choices</a></li> <li id="menu-item-100000725-" class="menu-item menu-item-type-custom menu-item-object-custom inactive"><a href="https://foundryco.com/work-here/">Foundry Careers</a></li> <li id="menu-item-100211760-" class="menu-item menu-item-type-post_type menu-item-object-page inactive"><a href="https://www.macworld.com/smart-answers">Smart Answers</a></li> </ul> </li> </ul></div> <div class="primaryFooter-menu-wrap"> <ul id="third-column-footer-menu" class="primaryFooter-menu"> <li id="third-column-footer-menu-item-one" class="menu-item-has-children"> More from Macworld<button class="sub-menu-open-button"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M151.5 347.8L3.5 201c-4.7-4.7-4.7-12.3 0-17l19.8-19.8c4.7-4.7 12.3-4.7 17 0L160 282.7l119.7-118.5c4.7-4.7 12.3-4.7 17 0l19.8 19.8c4.7 4.7 4.7 12.3 0 17l-148 146.8c-4.7 4.7-12.3 4.7-17 0z" /></svg></button> <ul id="footer_one_image" class="sub-menu"> <li> <p><a href="https://www.macworld.se/">Macworld Sweden</a></p> <p><a href="https://www.macwelt.de/">Macwelt Germany</a></p> </li> </ul> </li> </ul> </div> <div class="primaryFooter-menu-wrap"> <ul id="forth-column-footer-menu" class="primaryFooter-menu"> <li id="third-column-footer-menu-item" class="menu-item-has-children"> Subscribe<button class="sub-menu-open-button"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M151.5 347.8L3.5 201c-4.7-4.7-4.7-12.3 0-17l19.8-19.8c4.7-4.7 12.3-4.7 17 0L160 282.7l119.7-118.5c4.7-4.7 12.3-4.7 17 0l19.8 19.8c4.7 4.7 4.7 12.3 0 17l-148 146.8c-4.7 4.7-12.3 4.7-17 0z" /></svg></button> <ul id="footer_two_image" class="sub-menu"> <li id="footer_two_image_item"> <img src='https://www.macworld.com/wp-content/uploads/2023/01/macworld-wp-footer-promo.jpg?quality=50&#038;strip=all ' alt="Recent cover images of Macworld Digital Magazine" loading="lazy"/> </li> <li> <p><a href="https://simplecirc.com/subscribe/macworld">Subscribe to the Macworld Digital Magazine</a></p> <p><a href="https://simplecirc.com/subscriber_login/macworld">Manage Subscription</a></p> <p><a href="https://www.macworld.com/newsletters/signup">Newsletter</a></p> <p><a href="https://whatsapp.com/channel/0029VagNnbe002TCyUyKte2j">Follow us on WhatsApp</a></p> </li> </ul> </li> </ul> </div> </div> </div> <div class='footer-base'> <div class ='footer-base-child foundry-logo'> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 338 82"><defs><style>.cls-1{fill:#fff;}.cls-2{fill:none;}</style></defs><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><path class="cls-1" d="M167.33,1.09c6.31,0,10,4.11,10,10s-3.65,10-10,10-10-4.18-10-10S160.94,1.09,167.33,1.09Z"/><path class="cls-1" d="M140.57,58.33c0,4.11-.38,7.68-1.67,10.64-3.42,7.83-10.57,11.94-20.3,11.94-10.11,0-17.26-4.11-20.68-11.94-1.29-3-1.67-6.53-1.67-10.64V26.63h13.68V57.57a15.6,15.6,0,0,0,.84,6c1.44,3.34,4.56,4.56,7.83,4.56a7.72,7.72,0,0,0,7.45-4.56,15.6,15.6,0,0,0,.84-6V26.63h13.68Z"/><path class="cls-1" d="M189.9,48V79.85H176.22V49a15.53,15.53,0,0,0-.83-6c-1.45-3.35-4.57-4.87-8.06-4.87s-6.62,1.52-8.06,4.87a15.51,15.51,0,0,0-.84,6V79.85H144.75V48c0-4.1.38-7.67,1.67-10.64,3.42-7.83,10.57-12,20.91-12s17.48,4.18,20.9,12C189.52,40.32,189.9,43.89,189.9,48Z"/><polygon class="cls-1" points="311.23 47.39 322.48 26.63 337 26.63 317.92 61.15 317.92 79.84 303.93 79.84 303.93 61.15 285 26.63 300.06 26.63 311.23 47.39"/><polygon class="cls-1" points="39.09 26.63 1 26.63 1 79.84 14.68 79.84 14.68 61.83 37.41 61.83 37.41 49.51 14.68 49.51 14.68 39.02 39.09 39.02 39.09 26.63"/><path class="cls-1" d="M167.33,1.09c6.31,0,10,4.11,10,10s-3.65,10-10,10-10-4.18-10-10S160.94,1.09,167.33,1.09Z"/><path class="cls-1" d="M140.57,58.33c0,4.11-.38,7.68-1.67,10.64-3.42,7.83-10.57,11.94-20.3,11.94-10.11,0-17.26-4.11-20.68-11.94-1.29-3-1.67-6.53-1.67-10.64V26.63h13.68V57.57a15.6,15.6,0,0,0,.84,6c1.44,3.34,4.56,4.56,7.83,4.56a7.72,7.72,0,0,0,7.45-4.56,15.6,15.6,0,0,0,.84-6V26.63h13.68Z"/><path class="cls-1" d="M189.9,48V79.85H176.22V49a15.53,15.53,0,0,0-.83-6c-1.45-3.35-4.57-4.87-8.06-4.87s-6.62,1.52-8.06,4.87a15.51,15.51,0,0,0-.84,6V79.85H144.75V48c0-4.1.38-7.67,1.67-10.64,3.42-7.83,10.57-12,20.91-12s17.48,4.18,20.9,12C189.52,40.32,189.9,43.89,189.9,48Z"/><polygon class="cls-1" points="311.08 47.39 322.33 26.63 336.85 26.63 317.77 61.15 317.77 79.84 303.78 79.84 303.78 61.15 284.85 26.63 299.9 26.63 311.08 47.39"/><path class="cls-1" d="M267.37,63.05h-8.59v16.8H245.09V26.63h25.39c10.19,0,17.79,6.77,17.79,18.09,0,7-2.89,12.32-7.9,15.51l8.21,19.62H274Zm-8.59-24.63V51.11h8.59c5.09,0,7.3-2.43,7.3-6.39,0-3.72-2.21-6.3-7.3-6.3Zm8.59,24.63h-8.59v16.8H245.09V26.63h25.39c10.19,0,17.79,6.77,17.79,18.09,0,7-2.89,12.32-7.9,15.51l8.21,19.62H274Zm-8.59-24.63V51.11h8.59c5.09,0,7.3-2.43,7.3-6.39,0-3.72-2.21-6.3-7.3-6.3Z"/><path class="cls-1" d="M194.54,79.85V26.63h19.69c17.26,0,27.37,10.49,27.37,26.61,0,16.34-9,26.61-26.53,26.61Zm13.69-12h5.7c8.89,0,13.68-4.86,13.68-14.59,0-9.5-4.79-14.6-13.68-14.6h-5.7Zm-13.69,12V26.63h19.69c17.26,0,27.37,10.49,27.37,26.61,0,16.34-9,26.61-26.53,26.61Zm13.69-12h5.7c8.89,0,13.68-4.86,13.68-14.59,0-9.5-4.79-14.6-13.68-14.6h-5.7Z"/><path class="cls-1" d="M67.06,25.57c16,0,25.54,11.78,25.54,27.67,0,16.27-9.88,27.67-25.54,27.67-16,0-25.62-11.71-25.62-27.67C41.44,37.12,51.4,25.57,67.06,25.57ZM67,68.44c7.23,0,11.79-6,11.79-14.82C78.77,43.89,74.21,38,67.36,38c-7.45,0-12,5.85-12,14.82C55.35,62.44,59.91,68.44,67,68.44Zm.08-42.87c16,0,25.54,11.78,25.54,27.67,0,16.27-9.88,27.67-25.54,27.67-16,0-25.62-11.71-25.62-27.67C41.44,37.12,51.4,25.57,67.06,25.57ZM67,68.44c7.23,0,11.79-6,11.79-14.82C78.77,43.89,74.21,38,67.36,38c-7.45,0-12,5.85-12,14.82C55.35,62.44,59.91,68.44,67,68.44Z"/><polygon class="cls-1" points="39.09 26.63 1 26.63 1 79.84 14.68 79.84 14.68 61.83 37.41 61.83 37.41 49.51 14.68 49.51 14.68 39.02 39.09 39.02 39.09 26.63"/><rect class="cls-2" width="338" height="82"/></g></g></svg> </div> <div class='footer-base-child idg-copyright'> <div class="entry-copyright"> <a href="https://foundryco.com/terms-of-service-agreement/">Copyright © 2025 IDG Communications, Inc.</a> </div> </div> <div class='footer-base-child related-sites-dropdown'> <select id='footerSelect'> <option value="#">Explore the Foundry Network +</option> <option value="https://www.pcworld.com">PCWorld</option><option value="https://www.pcworld.com/techhive">TechHive</option><option value="https://www.techadvisor.com">TechAdvisor</option> </select> </div> <div class ='footer-base-child return-top-mobile'> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path d="M35.5 279.9l148-148.4c4.7-4.7 12.3-4.7 17 0l148 148.4c4.7 4.7 4.7 12.3 0 17l-19.6 19.6c-4.8 4.8-12.5 4.7-17.1-.2L218 219.2V468c0 6.6-5.4 12-12 12h-28c-6.6 0-12-5.4-12-12V219.2l-93.7 97.1c-4.7 4.8-12.4 4.9-17.1.2l-19.6-19.6c-4.8-4.7-4.8-12.3-.1-17zM12 84h360c6.6 0 12-5.4 12-12V44c0-6.6-5.4-12-12-12H12C5.4 32 0 37.4 0 44v28c0 6.6 5.4 12 12 12z"/> <div class='return-top-text'> <a>Top Of Page</a> </div> </div> <div class="cmp"> <div id="ccpa-consent-ui"> <button > Do Not Sell My Info </button> </div> <div id="eea-consent-ui"> <button > Privacy Settings </button> </div> </div> </div> </footer> </div><!-- #page--> <!-- Start Subscriber Embed Code --> <script type="text/javascript"> var subscribersSiteId = ""; var subscribersServiceWorkerPath = '/?firebase-messaging-sw'; </script> <script type="text/javascript" src=""></script> <!-- End Subscriber Embed Code --> <div id="gpt-welcome-1" class="ad ad-overlay" data-ad-template="overlay" data-ofp="true" data-aaad="true" data-aa-adunit="/8456/IDG.US_CSMB_Macworld.com/software-professional_section" data-aa-targeting='{"pos":"gpt-welcome"}'> </div><div id="gpt-skin-1" class="ad ad-skin" data-ad-template="skin" data-ofp="true" data-aaad="true" data-aa-adunit="/8456/IDG.US_CSMB_Macworld.com/software-professional_section" data-aa-targeting='{"pos":"gpt-skin"}'> </div><div id="gpt_bouncex-1" class="ad ad-bouncex" data-ad-template="bouncex" data-ofp="true" data-aaad="true" data-aa-adunit="/8456/IDG.US_CSMB_Macworld.com/software-professional_section" data-aa-targeting='{"pos":"gpt_bouncex"}'> </div> <script type="text/javascript"> function getGenericOverlayMessage(platform) { let customHTMLTextOverlay = window?.IDG?.settings?.overlays_privacy_policies?.consent_overlays?.english_generic_overlay_message ?? ''; const foundryPPLink = window?.IDG?.settings?.overlays_privacy_policies?.foundry_privacy_policies?.gdpr; customHTMLTextOverlay = customHTMLTextOverlay.replace(/\$\{platform\}/g, platform).replace(/\$\{foundryPPLink\}/g, foundryPPLink); return customHTMLTextOverlay; } // Function to check if the custom blocks should be excluded based on keywords. function isExcluded(element) { const platform = jQuery(element).attr('generic-overlay-domain'); const cookieName = `hide-generic-overlay-${platform}`; const consentGiven = getOverlayCookie(cookieName); if (consentGiven === 'true') { return true; } // Check if blocksForConsent is defined. const excludeCustomBlocks = typeof window?.blocksForConsent !== 'undefined' ? Object.values(window?.blocksForConsent).map(block => block.platform) : []; const dataSrc = jQuery(element).attr('data-src'); if (!dataSrc) return false; // If there's no src attribute, don't exclude return excludeCustomBlocks.some(keyword => dataSrc.includes(keyword)); } jQuery('.legacy_content iframe, .legacy_content script, .legacy_content img').each(function(index, element) { // Check if the element contains any of the exclude keywords if (!isExcluded(element)) { const platform = jQuery(element).attr('generic-overlay-domain'); if(platform){ const genericCookieName = `custom-html-consent-notice-${platform}`; const genericOverlayNextExists = jQuery(element).next(`.${genericCookieName}`).length > 0; const genericOverlayPrevExists = jQuery(element).prev(`.${genericCookieName}`).length > 0; // Add the custom overlay and hide the element if not excluded if (!genericOverlayPrevExists && !genericOverlayNextExists) { jQuery(element).after(getGenericOverlayMessage(platform)); jQuery(element).hide(); } } } else { const platform = jQuery(element).attr('generic-overlay-domain'); if(platform){ const cookieName = `hide-generic-overlay-${platform}`; const consentGiven = getOverlayCookie(cookieName); if (consentGiven === 'true') { if( element.nodeName.toLowerCase() === 'script' ) { let genericScript = document.createElement("script"); genericScript.type = "text/javascript"; genericScript.async = true; genericScript.src = jQuery(element).attr('data-src'); element.parentNode.insertBefore(genericScript, element); element.remove(); } else { jQuery(element).attr('src', jQuery(element).attr('data-src')); } jQuery(element).show(); } } } }); /* * Visitor has not consented to everything so we need to add click-event handlers to the consent-buttons */ jQuery(document).on("click", ".consent-button-generic", function(event) { const buttonElement = event.target; const platform = jQuery(buttonElement).attr('platform'); if(platform) { const legacySelector = `.legacy_content iframe[generic-overlay-domain="${platform}"], .legacy_content script[generic-overlay-domain="${platform}"], .legacy_content img[generic-overlay-domain="${platform}"]`; jQuery(legacySelector).each(function(index, element) { if( element.nodeName.toLowerCase() === 'script' ) { let genericScript = document.createElement("script"); genericScript.type = "text/javascript"; genericScript.async = true; genericScript.src = jQuery(element).attr('data-src'); element.parentNode.insertBefore(genericScript, element); element.remove(); } else { jQuery(element).attr('src', jQuery(element).attr('data-src')); } jQuery(element).show(); const cookieName = `hide-generic-overlay-${platform}`; setOverlayCookie(cookieName, true, 30) }); const platformOverlaySelector = `.custom-html-consent-notice-${platform}`; jQuery(platformOverlaySelector).hide(); } }); </script> <script> jQuery(document).on("click",".consent-button",function() { const consentButton = event.target; const embedType = jQuery(consentButton).data('type'); const callback = jQuery(consentButton).data('callback'); const cmpType = jQuery(consentButton).data('cmp'); console.log(cmpType, typeof cmpType); setOverlayCookie(embedType, true, 30); jQuery('.' + embedType).each(function() { jQuery(this).hide(); }); eval(callback); showOverlays(cmpType); }); </script> <script type="text/javascript"> window._taboola = window._taboola || []; _taboola.push({flush: true}); </script> <link rel='stylesheet' id='typekit-styles-css' href='https://use.typekit.net/eht4meo.css?ver=1.0.0' media='all' /> <script type="text/javascript" src="https://www.macworld.com/wp-includes/js/dist/hooks.min.js?m=1739294314g" ></script><script src="https://www.macworld.com/wp-includes/js/dist/i18n.min.js?ver=5e580eb46a90c2b997e6" id="wp-i18n-js"></script> <script id="wp-i18n-js-after"> wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } ); </script> <script id="frontend-scripts-js-extra"> var siteData = {"site":"macworld.com","connectedhub":"b2c"}; var googleSearch = {"search_engine_id":"b9e525047e575e1a7","search_title":"Search","search_slug":"search"}; </script> <script defer src="https://www.macworld.com/wp-content/themes/idg-base-theme/dist/scripts/bundle.js?ver=1739908368" id="frontend-scripts-js"></script> <script id="ajaxload_posts-js-extra"> var ajaxload_params = {"ajaxurl":"https:\/\/www.macworld.com\/wp-admin\/admin-ajax.php","nonce":"1b05b1c6c5"}; </script> <script defer src="https://www.macworld.com/wp-content/themes/idg-base-theme/dist/scripts/ajaxload-posts.js?ver=1" id="ajaxload_posts-js"></script> <script type="text/javascript" src="https://www.macworld.com/wp-content/themes/macworld-com-child-theme/dist/scripts/theme.js?m=1739908368g" ></script><script defer src="https://stats.wp.com/e-202508.js" id="jetpack-stats-js"></script> <script id="jetpack-stats-js-after"> _stq = window._stq || []; _stq.push([ "view", {v:'ext',blog:'178044738',post:'209863',tz:'-8',srv:'www.macworld.com',hp:'vip',j:'1:12.8.2'} ]); _stq.push([ "clickTrackerInit", "178044738", "209863" ]); </script> <script> var maxHeight = 0; if (window.innerWidth > 767) { document.querySelectorAll(".article-feed-resources-block .text-block").forEach((ele)=> { if (ele.offsetHeight > maxHeight) { maxHeight = ele.offsetHeight }; }); document.querySelectorAll(".article-feed-resources-block .text-block").forEach((ele)=> { ele.style.height = maxHeight + 'px'; }); } </script> <script> const learnMore = document.getElementById("brandpost-learn-more"); const closeDiv = document.getElementById("brandpost-close-div"); learnMore && learnMore.addEventListener("click", function() { document.querySelector(".brandpost-block .learn-more-div").classList.add("show-learn-more-div"); }); closeDiv && closeDiv.addEventListener("click", function() { document.querySelector(".brandpost-block .show-learn-more-div").classList.remove("show-learn-more-div"); }); </script> <script type="text/javascript">window.onload = setTimeout(function() { (function () { console.log('aax-tag'); window.aax = window.aax || {}; var aax = window.aax; aax.initTime = new Date().getTime(); aax.pubId = "AAXFGX83C"; aax.ver = "1.2"; aax.hst = window.location.hostname; var aaxEndpoint = "https://c.aaxads.com/aax.js?pub=" + aax.pubId + "&hst=" + aax.hst + "&ver=" + aax.ver; function loadScript(endpoint) { var scriptTag = document.createElement("script"), placeTag = document.getElementsByTagName("script")[0]; scriptTag.type = "text/javascript"; scriptTag.async = true; scriptTag.src = endpoint; placeTag.parentNode.insertBefore(scriptTag, placeTag); } loadScript(aaxEndpoint); })(); window.aax.cmd = window.aax.cmd || []; window.aax.cmd.push(function () { if (window.aax.getAbpStatus()) { window.googletag = window.googletag || {}; window.googletag.cmd = window.googletag.cmd || []; window.googletag.cmd.push(function() { googletag.pubads().refresh(null, { changeCorrelator: false }); }); } }); window.aax = window.aax || {}; window.aax.cmd = window.aax.cmd || []; window.aax.cmd.push(function() { if (window.aax.getAbpStatus && window.aax.getAbpStatus()) { document.querySelectorAll('.ad').forEach((ad) => { if (ad.hasChildNodes()) { ad.classList.add('has-loaded'); ad.classList.add('has-rendered'); } }); } }); }, 8000);</script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10