몇 년 동안 링크를 저장하다 보면 북마크 파일에 사본이 가득합니다. 뉴스레터에서 utm_source가 붙은 채 저장한 같은 기사, 끝 슬래시가 있거나 없는 같은 페이지, 아무도 쓰지 않는 북마클릿, 다른 브라우저에서는 의미 없는 chrome:// 바로가기가 그렇습니다. 이 북마크 정리기는 브라우저가 내보낸 bookmarks.html을 열어 같은 목적지를 가리키는 항목을 묶고, 다시 가져올 수 없는 항목을 표시하며, 깨끗한 파일에 무엇을 넣을지 항목마다 직접 정하게 해 줍니다.
기본값은 중복 그룹의 첫 번째 사본만 남기고 뒤의 사본은 빼며, 저장된 링크에서 utm_*, fbclid, gclid, mc_cid, mc_eid를 지우는 것입니다. 두 가지 모두 옵션으로 바꿀 수 있고, 검토 목록의 모든 항목에는 되살리거나 제외할 수 있는 체크박스가 있습니다. 폴더 구조도 유지되어 Reading / Later에 있던 링크는 그 중첩 폴더 안에 다시 기록됩니다.
파일은 이 탭에서 읽으며 업로드되지 않습니다. 링크를 열지 않으므로 페이지가 아직 살아 있는지는 알 수 없습니다. 한도는 HTML 10 MiB와 북마크 20,000개이고 정리된 출력은 20 MiB까지입니다.
사용 방법
북마크 내보내기
크롬, 엣지, 파이어폭스, 사파리의 북마크 관리자에서 내보내기 명령으로 bookmarks.html 파일을 저장하세요. 원본은 백업으로 보관합니다.
파일 열기
HTML 파일을 선택하거나, 처음 화면에 불러와 있는 샘플 내보내기 파일을 살펴보세요. 모든 링크를 폴더 경로와 함께 읽어 북마크 수, 중복 링크(뒤의 사본 수 포함), 쓸 수 없는 항목, 추적 파라미터가 있는 링크, 깨끗한 파일에 들어갈 항목과 폴더 수를 보여 줍니다.
두 가지 옵션 정하기
저장된 링크에서 추적 파라미터를 지울지(기본값 켬), 중복은 첫 번째만 남기고 뒤의 사본을 뺄지(기본값) 모든 사본을 남길지 정합니다.
목록 검토
표를 검토 필요, 전체, 남김, 제외로 거르거나 제목·링크·폴더로 검색합니다. 항목의 체크박스를 켜고 끄면 되살리거나 제외할 수 있습니다. 주소가 빈 항목만 잠깁니다. http(s)가 아니거나 파싱할 수 없는 주소는 기본으로 남고 사용 불가 표시가 붙으며 다운로드 전에 제외할 수 있습니다.
내려받아 다시 가져오기
브라우저 가져오기 명령에 쓸 깨끗한 HTML, 스프레드시트용 CSV, 선택한 옵션까지 기록되는 JSON 감사 파일을 내려받으세요. 먼저 새 브라우저 프로필에 가져와 결과를 확인하는 것이 좋습니다.
작동 원리
두 주소가 같다고 판단하는 기준
비교할 때는 각 주소를 URL로 파싱해 비교 키로 바꿉니다. http와 https 주소만 유효합니다. 스킴과 호스트는 소문자로 바꾸고, 기본 포트는 지우고, 프래그먼트(# 뒤의 모든 것)를 제거하고, 루트가 아닌 경로의 끝 슬래시를 제거하며, 쿼리 파라미터를 정렬합니다. utm_*, fbclid, gclid, mc_cid, mc_eid 파라미터는 클릭이 어디서 왔는지만 기록하고 페이지를 바꾸지 않으므로 뺍니다. 키가 같은 북마크는 중복으로 보고됩니다.
다른 파라미터는 키에 남습니다. ?id=1과 ?id=2는 다른 페이지이기 때문입니다. 이 키가 CSV의 normalized_url 컬럼입니다. 깨끗한 파일에 기록되는 링크는 이와 별개입니다. 추적 파라미터 제거가 켜져 있으면 저장된 URL에서 추적 파라미터만 빠지므로 호스트 대소문자, 경로, 끝 슬래시, 다른 파라미터, #프래그먼트는 저장한 그대로 남습니다.
| 저장된 주소 | 깨끗한 파일에 기록되는 주소 | 비교 키 |
|---|---|---|
| https://EXAMPLE.com/a/?utm_source=x&view=full#x | https://EXAMPLE.com/a/?view=full#x | https://example.com/a?view=full |
| https://example.com/?ref=nl&fbclid=abc&gclid=1 | https://example.com/?ref=nl | https://example.com/?ref=nl |
| http://example.com/p?b=2&a=1 | http://example.com/p?b=2&a=1 | http://example.com/p?a=1&b=2 |
| https://example.com:443/x | https://example.com:443/x | https://example.com/x |
| https://example.com/a/ | https://example.com/a/ | https://example.com/a |
쓸 수 없는 항목의 기준
주소가 비어 있으면 빈 링크, javascript:, chrome://, about:, file:처럼 http나 https가 아닌 스킴이면 웹 링크 아님, www.example.org처럼 스킴이 없어 파싱할 수 없으면 잘못된 링크로 표시됩니다. 빈 링크만 잠겨 제외됩니다. 웹 링크 아님과 잘못된 링크는 기본으로 깨끗한 파일에 남고 normalized_url은 비며, 체크를 끌 수 있습니다.
표의 다른 태그는 직접 판단할 수 있는 항목을 설명합니다. 그룹의 모든 구성원에는 중복, 첫 번째 뒤의 구성원에는 뒤의 사본이 붙고, 추적 파라미터 옵션에 따라 추적 제거됨 또는 추적 있음이 붙습니다. www. 접두사와 http·https 스킴은 합치지 않으므로 http://a.com과 https://a.com은 다른 목적지입니다.
파일을 읽고 쓰는 방식
내보내기 파일은 DOM이 아니라 작은 태그 스캐너로 읽습니다. 크롬, 엣지, 파이어폭스, 사파리가 쓰는 Netscape 북마크 형식, 즉 폴더가 제목과 목록으로 이어지는 NETSCAPE-Bookmark-file-1 문서를 따릅니다. 스캐너가 목록의 중첩을 추적하므로 중첩 폴더 뒤에 오는 링크까지 모든 링크가 자기가 있던 전체 폴더 경로를 유지합니다.
깨끗한 HTML은 중첩 폴더를 그대로 다시 기록하며 남긴 항목의 주소, 제목, 추가 날짜를 씁니다. CSV는 title, url, folder, normalized_url 컬럼을 가지고 폴더 경로는 / 로 이어 붙이며, 셀은 스프레드시트 수식으로 해석되지 않게 처리됩니다. JSON에는 같은 항목과 감사 집계, 선택한 옵션이 들어 있습니다.
<!DOCTYPE NETSCAPE-Bookmark-file-1>
<DL><p>
<DT><H3>Reading</H3>
<DL><p>
<DT><A HREF="https://example.com/story?ref=home#top">A useful story</A>
</DL><p>
</DL><p>실제 예시
Reading A useful story https://example.com/story?utm_source=mail&ref=home#top
Reading / Later A useful story (copy) https://EXAMPLE.com/story/?ref=home
Reading MYMONDAY.AI https://mymonday.ai/ko
(최상위) Old bookmarklet javascript:alert(1)
(최상위) x www.example.org
(최상위) empty (주소 없음)input 6, valid 3, kept 4, duplicates 2 (1 later copy), unusable 3, tracking 1, in the clean file 4 (1 folder)
중복 그룹: 1번 항목은 유지, 2번 항목은 뒤의 사본으로 표시되어 제외
쓸 수 없음: javascript:alert(1) = 웹 링크 아님, www.example.org = 잘못된 링크, (빈 주소) = 빈 링크기본 옵션에서는 뒤의 사본이 검토 목록에서 체크 해제된 상태입니다. 체크하면 되살아납니다. 모든 사본 남기기로 바꾸면 유효한 세 항목이 모두 남고 폴더 수는 2가 됩니다.
(위 항목, 추적 파라미터 제거 켬, 첫 번째 사본 유지)title,url,folder,normalized_url
"A useful story","https://example.com/story?ref=home#top","Reading","https://example.com/story?ref=home"
"MYMONDAY.AI","https://mymonday.ai/ko","Reading","https://mymonday.ai/ko"
"Old bookmarklet","javascript:alert(1)","",""
"x","www.example.org","",""저장된 링크에서 utm_source는 사라지지만 ref=home과 #top은 남습니다. 추적 파라미터 제거를 끄면 url 컬럼은 ?utm_source=mail&ref=home#top 그대로입니다. normalized_url 컬럼은 어느 쪽이든 같습니다.
(위 항목, 모든 사본 남기기, 추적 파라미터 제거 끔)
Reading / Later A useful story (copy) https://EXAMPLE.com/story/?ref=homeinput 6, valid 3, kept 5, duplicates 2 (1 later copy), unusable 3, tracking 1, in the clean file 5 (2 folders)
"A useful story (copy)","https://EXAMPLE.com/story/?ref=home","Reading / Later","https://example.com/story?ref=home"사본은 대문자 호스트와 끝 슬래시까지 저장한 그대로 중첩 폴더 Reading / Later에 기록되고, normalized_url에는 소문자 비교 키가 표시됩니다.
자주 하는 실수
첫 번째 사본이 원하는 것이 아닐 수 있음
기본 옵션은 파일 순서상 중복 그룹의 첫 항목을 남기고 뒤의 사본을 뺍니다. 뒤의 사본이 더 좋은 폴더에 있거나 제목이 더 낫다면 검토 목록에서 그 사본을 체크하고 첫 번째 항목의 체크를 푸세요.
추적 파라미터는 다섯 종류만 지워짐
추적 파라미터 제거는
utm_*,fbclid,gclid,mc_cid,mc_eid만 건드립니다.ref,si,igshid같은 파라미터는 저장된 링크에 남고, 호스트 대소문자, 경로, 끝 슬래시,#프래그먼트도 그대로입니다.링크가 아직 동작하는지는 확인하지 않음
어떤 북마크에도 요청을 보내지 않으므로 죽은 링크, 리디렉션, 로그인 뒤의 페이지는 감지하지 못합니다. 필요하면 링크 검사기를 쓰되, 그 도구는 저장한 URL을 방문한다는 점에 유의하세요.
원본의 모든 것이 옮겨지지는 않음
깨끗한 HTML은 중첩 폴더를 유지하지만 남긴 링크의 주소, 제목, 추가 날짜만 기록합니다. 파비콘, 빈 폴더, 그 밖의 속성은 쓰이지 않으므로 북마크를 교체하기 전에 CSV를 원본과 대조하세요.
같은 페이지인데 주소가 다른 경우
www., http와 https, 다른 쿼리 파라미터, 단축 링크로 달라지는 항목은 중복으로 보지 않습니다. 비교 키가 같은 주소만 묶습니다.
자주 묻는 질문
브라우저에서 북마크를 내보내려면?
크롬과 엣지는 북마크 관리자 메뉴의 북마크 내보내기, 파이어폭스는 라이브러리 창의 HTML로 북마크 내보내기, 사파리는 파일 메뉴의 북마크 내보내기 명령을 씁니다. 모두 bookmarks.html 파일을 만듭니다.
죽은 링크도 확인하나요?
아니요. 링크를 열지 않으므로 페이지가 아직 살아 있는지는 알 수 없습니다. 저장된 주소를 비교하고 정리할 뿐이라 목록이 비공개로 유지되고 검사도 빠릅니다.
어떤 추적 파라미터를 지우나요?
utm_로 시작하는 파라미터와 fbclid, gclid, mc_cid, mc_eid입니다. 비교 키에서는 항상 빼고, 추적 파라미터 옵션이 켜져 있으면(기본값) 내려받는 파일의 저장된 링크에서도 지웁니다. 다른 파라미터는 페이지 정체성의 일부로 유지됩니다.
중복 항목을 모두 남길 수 있나요?
네. 중복 옵션에서 모든 사본 남기기를 고르거나, 검토 목록에서 뒤의 사본 하나의 체크박스만 켜면 됩니다. 중복 태그는 그대로 붙어 있어 어떤 항목이 같은 목적지를 공유하는지 계속 볼 수 있습니다.
항목이 잠긴 이유는?
빈 링크만 잠겨 모든 다운로드에서 빠집니다. 웹 링크 아님(javascript:나 chrome://처럼 http, https가 아닌 스킴)과 잘못된 링크(스킴이 없는 등 주소를 파싱할 수 없음)는 기본으로 남으며 체크를 끌 수 있습니다.
파일이 너무 크다고 나오는 이유는?
HTML은 10 MiB, 북마크는 20,000개까지 받고 결과가 20 MiB를 넘으면 거부합니다. 한도마다 별도의 안내가 나오므로 아주 큰 내보내기 파일은 둘로 나눠 따로 정리하세요.
북마크 목록이 업로드되나요?
아니요. 북마크 파일은 브라우저에서 읽고 비교하며, 북마크한 어떤 주소도 방문하거나 전송하지 않으므로 읽는 사이트 목록이 내 컴퓨터에 머뭅니다.
마지막 업데이트:
